Hi Ben,

Thanks for all your awesome work. This is really exciting stuff, and I also 
appreciate your write-ups on your blog.

Dave

On Sep 28, 2012, at 5:22 PM, Ben Blum <[email protected]> wrote:

> Hi folks,
> 
> Many of you know this by now, but I'm sure there are people here who
> didn't sit in the same room as me this summer (videoconference rooms
> included).
> 
> This summer I worked on Rust's concurrency/parallelism libraries. I
> contributed two shiny new features:
> 
> - Linked task failure. When spawning a task, you can optionally
>  configure whether failure (i.e., "fail", array out of bounds,
>  assertions, etc) propagates from child to parent and whether it
>  propagates from parent to child.
> 
>  Of particular note is task::spawn_supervised, which allows you to
>  model a "supervision tree", in which if a parent task fails it will
>  automatically kill all of its descendants, but child task failure can
>  be handled gracefully.
> 
> - Shared mutable (typesafe) state. In addition to the ARC ("atomically
>  reference counted object"), which allows tasks to alias the same
>  immutable state, we now also have the RWARC ("reader-writer ARC"),
>  which uses locks and closures to allow tasks to share mutable state.
>  The type system statically guarantees that data-races are impossible.
>  See std::arc for more.
> 
>  (The underlying concurrency primitives - semaphores, mutexes, rwlocks,
>  condvars - can also be used directly, in std::sync, in case you have
>  some state external to rust that needs to be protected, such as when
>  linking to a C library or using the filesystem. These should be
>  preferred over the pthread ones because these are rust-scheduler-
>  aware; i.e., other rust tasks can be scheduled on your CPU while you
>  are blocked on one of these.)
> 
> I wrote a series of blog posts, some of which explain Rust's features
> and syntax, others of which explain these two projects:
> 
> http://winningraceconditions.blogspot.com/2012/09/rust-1-primer.html
> http://winningraceconditions.blogspot.com/2012/09/rust-2-linked-task-failure.html
> http://winningraceconditions.blogspot.com/2012/09/rust-3-typesafe-shared-state.html
> http://winningraceconditions.blogspot.com/2012/09/rust-4-typesafe-shared-mutable-state.html
> http://winningraceconditions.blogspot.com/2012/09/rust-0-index-and-conclusion.html
> 
> Thanks to you all - you're a great community, I really enjoyed
> contributing this summer, and I have high hopes for Rust turning out to
> be a great language.
> 
> Ben
> _______________________________________________
> Rust-dev mailing list
> [email protected]
> https://mail.mozilla.org/listinfo/rust-dev

_______________________________________________
Rust-dev mailing list
[email protected]
https://mail.mozilla.org/listinfo/rust-dev

Reply via email to