It's clear, that when we call `fetch` on an instance of `RemoteRef`, it 
blocks the task. But does it mean that the whole thread is blocked (and 
thus we experience thread context switching) or control is simply passed to 
another task? 

For context: I'm trying to understand different ways of asynchronous 
programming in Julia. I see that Julia Tasks reflect actor model pretty 
well. But I'm curious if they also may be used as Future-like objects. With 
Futures (as implemented, for example, in Finagle [1]), I can specify 
`onSuccess` and `onFailure` callbacks to process result when it is ready. 
Julia doesn't seem to support these semantics, so I'd like to know the 
proper way (i.e. the way that doesn't block the thread) of using 
tasks/fetch/wait with the same purpose. 


[1]: http://twitter.github.io/finagle/guide/Futures.html

Reply via email to