Coroutines are control flow, so all of them run in the same process 
sequentially. The distributed primitives are different – those are potentially 
in separate processes.

> On Mar 27, 2014, at 10:06 PM, Collin Glass <[email protected]> wrote:
> 
> Hi, I'm almost done a bomberman client for an AI hackathon, I just need to 
> get the TCP input to run in it's own thread.
> 
> I have the following code:
> 
> include("bomberman.jl")
> 
> try
>       GAMEIP = "0.0.0.0"
>       GAMEPORT = 40000
>       player = Player(GAMEIP, GAMEPORT)
> 
>       print(typeof(player), "\n")
>       @async begin
>               recv_update(player)
>       end
>       while true
>               print(player.data)
>       end
> 
> catch err
>       print("connection ended with error $err\n")
> end
> 
> Basically the recv_update(player) is running an infinite loop that updates 
> the player.data properly.
> 
> My understanding is that Julia passes all values by reference so player 
> should be getting updated outside of recv_update. Ignorantly I could ask, 
> does @async use memory on a different process so it doesn't get updated?
> 
> If you need to see the recv_update() code I can paste it or you can go to 
> https://github.com/collinglass/bombermanjl.
> 
> 
> Regards,
> 
> Collin
> 

Reply via email to