
Darwin Xavier
During my minor, I focused on multithreading in a C++ environment, I used visual studio as IDE and the .NET framework. For the actual threads, I've experimented with both the .NET framework threads and threads from the boost and std library.
I made three demonstrators that show multithreading in their own way, they are all made with C++. I used different threading implementations such as threadpooling and creating and managing seperate threads manually.
While I have a better understanding of the workings of multithreading now, I can still learn and experiment more with it. It was very interesting to see the kind of bugs and errors that multithreading can generate. Even though fixing those can be rather difficult.
Demonstrator 1:
This demonstrator is very straight forward, it shows the difference between using multithreading and not using multithreading. There are 2 settings that can be set which will have an impact on how much time is saved.
Demonstrator 2:
This demonstrator shows a simple rendering engine that is moving particles, it switches between single and multithreading every few seconds. In the console behind the application, the FPS is printed out. The rendering engine was built from scratch which took me more time than I had imagined and set me back a bit, timewise.
Demonstrator 3:
In this demonstrator, a maze is solved using single threads (left video) and multiple threads (right video). The thing about multithreading mazes is that the effectiveness increases when the maze has many points where the path splits off into multiple paths. If there is just a single path to the end, multithreading will not speed up the process.
Minor
