Lecture 18: Concurrency and More in Rust

Title slideThis afternoon’s lecture completed the review of Rust with an exploration of how references and ownership interact with threaded concurrency.

Impressively, the same mechanisms that ensure safe memory access also give data-race freedom; and applications of marker traits then extend that to guarantees about channel-based communication. All is not entirely straightforward, though: programming under Rust’s constraints can be awkward and difficult to accomplish. A whole range of additional constructions, from Cell<T> to RwLock<T>, have been built to provide necessary flexibility. These weaken the guarantees of safety and reintroduce runtime overheads — although the potential errors in aliasing or races that these introduce can now be handled at runtime rathe

Today’s metaphor for feature deconstruction was the Build-a-Bear Workshop chain and the incomparable Bling Frog.

Link: Slides

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s