c# - How to emulate Task.Wait() in WinRT? -
i have read if wait() called on task before started, taskscheduler may attempt start task inline on thread calling wait(). undesirable me because trying guarantee order of execution of operations, , inline call may screw up. basically, exposing 2 ways queue items (one async , 1 sync). sync method using wait() wait result of operation once entered queue on thread , executed, have switched this:
while(t.status == taskstatus.created) task.delay(10).wait(); t.wait(); this looks bit scary, , smelly, there way wait task finish without scheduler attempting schedule inline? waiting seems work, i'd rather use alternative method if there one. i'm restricted windows runtime library.
@pako suggested in comments, , seems simple enough solution combine continuewith; synchronously wait until mytask done;
var manualresetevent = new manualresetevent(false); task.run(() => mytask()).continuewith(x => { manualresetevent.set(); }); manualresetevent.waitone();
Comments
Post a Comment