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

Reply via email to