Currently, Rust does not pre-empty. I still hope we can leverage the O/S for pre-emption rather than having to implement it ourselves.
Niko On Thu, Oct 31, 2013 at 10:07:51PM +0800, Ben Kloosterman wrote: > > > > The big issue here then is really that rust tasks can be pre-empted, and > > therefore you can't guarantee that *any* function is free from blocking > > (which means you can't assign it a large stack, since it may go to sleep > > while holding it). IMO co-operative tasks (by default) is worth considering > > as a solution here. > > > > re Co operative tasks , I have bad memories of 3.X apps which could lock > the whole OS/GUI when in a tight loop ? Certainly not a solution for > single core systems , even on dual system it can be an issue. On quad+ > there is some merit but history has shown every addin /lib will use as > many resources as they can ( eg flash add animations ) and not yield > willingly. It can be done but you need to check tasks with a schedule > service task and if they dont behave pre-empt / reduce priority. > > Ben > _______________________________________________ > Rust-dev mailing list > Rust-dev@mozilla.org > https://mail.mozilla.org/listinfo/rust-dev _______________________________________________ Rust-dev mailing list Rust-dev@mozilla.org https://mail.mozilla.org/listinfo/rust-dev