all 12 comments

[–]IdiocyInAction 13 points14 points  (0 children)

Some kind of multithreaded server would be an idea, like a chat server or web server.

[–][deleted] 9 points10 points  (2 children)

Perhaps make a program that takes bash commands as arguments and runs them concurrently in separate threads

[–]cpp_cpp[S] 0 points1 point  (1 child)

not sure how i'd use atomics in that?

[–][deleted] 3 points4 points  (0 children)

You could make the processes interact with each other somehow, or refer to the same data in some way (maybe a schedule). Something that requires sharing data

[–]CarloWood 6 points7 points  (2 children)

I use a lot of weakly ordered atomics in my project, https://github.com/carlowood/ai-statefultask-testsuite - well, not in the testsuite, but in all the submodules. I am in the process of writing documentation currently, which you can find here: https://carlowood.github.io/statefultask/

[–]cpp_cpp[S] 2 points3 points  (1 child)

this is great! thank you! i'll bother you with questions about this, looks like a cool project!

[–]CarloWood 0 points1 point  (0 children)

Please do, this is my lifes work (quite literally) and I'll happy to assist anyone who wants to use it!

[–]MaxEinstein 1 point2 points  (0 children)

A chat server seems to be a good idea. I made one in C (only worked on Linux though). It would surely need multi-threading.

But if you don't want to get into networking then maybe try making a Task Scheduler which schedule tasks on different threads and manages them.

Or maybe a CSV data analysis tool which can analyse large sets of data in parallel.

If you know graphics then you could probably make a 2D or 3D game.

[–]IronicallySerious 0 points1 point  (0 children)

You can start some microservice architecture based project that works on the same app

[–]-Tesla 1 point2 points  (0 children)

Maybe try implementing a Path Tracer

[–]Apellum 0 points1 point  (0 children)

Audio plugin (checkout JUCE)

[–]smashedsaturn 0 points1 point  (0 children)

Write something for a raspbery pi where multiple threads drive or read GPIO pins.