exercism / rust

Exercism exercises in Rust.
https://exercism.org/tracks/rust
MIT License
1.42k stars 519 forks source link

Implement new Concept Exercise: threads #1069

Closed workingjubilee closed 10 months ago

workingjubilee commented 4 years ago

This issue describes how to implement the threads concept exercise for the rust track.

Getting started

Please please please read the docs before starting. Posting PRs without reading these docs will be a lot more frustrating for you during the review cycle, and exhaust Exercism's maintainers' time. So, before diving into the implementation, please read up on the following documents:

Please also watch the following video:

Goal

Learning to write truly good multithreaded code is an enormous undertaking. Performing basic parallelism is not. The aim of this exercise is to provide a simple understanding of Rust's promised fearless concurrency.

Learning objectives

Out of scope

Concepts

Prerequisites

This will require a conceptual understanding of

...baaasically this comes after everything else.

Resources to refer to

Hints

After

Representer

No changes required

Analyzer

No changes required

Implementing

See our implementation guide for guidance. In addition you may want to make use of the shell script while in the concept directory, with the argument of the exercise name, e.g. sh boil_exercise.sh threads

Just explicitly copying "Parallel Letter Frequency" is probably a little lazy, but if you did but provided more of a guided tour of threading in doing so, it would not be entirely inappropriate.

Help

If you have any questions while implementing the exercise, please post the questions as comments in this issue.

gilescope commented 3 years ago

Parallel Letter Frequency is quite nice as the problem is trivial. Starting with initially no primates and then leading on to crossbeam scoped threads to remove the need for clone of the inputs is a nice story - it shows off one of rust’s unique strengths and shows that the more performant way is also simpler.

senekor commented 10 months ago

After several failed attempts to create a high-quality syllabus, I believe any future attempts will have to do their own design work from scratch.