I would opt for Task and ContinueWith(). It's an awesome way of dealing with 
such situations. 
All locking, WaitHandles or Sleep calls can block the UI thread on iPhone and 
cause very weird behavior or lockups. 

Grüße, René

Am 05.04.2012 um 23:34 schrieb Rodrigo Kumpera <[email protected]>:

> You really can't do it without manually waiting for it.
> 
> What you can do is:
> 
> object obj = new object ();
> BeginInvokeOnMainThread (delegate {
>  //Do something
>  lock (obj) { Monitor.Notify (obj); }
> });
> 
> Thread.Sleep (2000);
> lock (obk) { Monitor.Wait (obj); }
> 
> Ideally we would provide wrappers for common idioms of the .NET plataform 
> like making the
> function return an IAsyncResult or Task object.
> 
> 
> 
> On Thu, Apr 5, 2012 at 6:13 PM, MojoDK <[email protected]> wrote:
> Hi,
> 
> In this code...
> 
> ThreadPool.QueueUserWorkItem (delegate {
>    BeginInvokeOnMainThread (delegate {
>        // Do something
>    });
>    Thread.Sleep(2000);
>    // Check something
> });
> 
> ... how can I make sure the "// Do something" is completely done before
> "//Check something"?
> 
> In other words, how can I check when BeginInvokeOnMainThread is done and
> then do some stuff still in the ThreadPool.QueueUserWorkItem?
> 
> Thanks!
> Mojo
> 
> --
> View this message in context: 
> http://monotouch.2284126.n4.nabble.com/When-is-BeginInvokeOnMainThread-done-tp4536089p4536089.html
> Sent from the MonoTouch mailing list archive at Nabble.com.
> _______________________________________________
> MonoTouch mailing list
> [email protected]
> http://lists.ximian.com/mailman/listinfo/monotouch
> 
> _______________________________________________
> MonoTouch mailing list
> [email protected]
> http://lists.ximian.com/mailman/listinfo/monotouch
_______________________________________________
MonoTouch mailing list
[email protected]
http://lists.ximian.com/mailman/listinfo/monotouch

Reply via email to