In this tool-assisted education video I explain the tools that C++11 introduced for creating multi-threaded programs. We will study each concept individually from #threads to condition variables and from futures to promises.
ENGLISH-LANGUAGE CLOSED CAPTIONS ARE AVAILABLE.
The source code and other materials can be DOWNLOADed here: bisqwit.iki.fi...
You can contribute subtitle translations at: www.youtube.co...
If you want to help me with money, I have a Patreon page at: / bisqwit
Music used in the video, in order of appearance:
- Wizardry V :: Artifacts (Kentarou Haneda)
- Star Ocean :: Calm Time (Motoi Sakuraba)
- Wonder Project J :: House (Akihito Mori)
All music was converted into MIDI and played using OPL3 simulation with homebrew software. The exact process is described here: • SNES music through OPL...
Footage music (also played through homebrew software):
- Cave Story :: Geothermal
Cameras used: Canon EOS 1200D, Canon PowerShot SX110IS
Lens: Tokina AT-X PRO 11-16mm F2.8 DX
Programming footage in: DOSBox
Resampling with: ffmpeg
Video editing in: kdenlive
Audio editing in: audacity & kdenlive
Muxing in: mkvmerge
Production dates: 2015-12-03 through 2016-01-22
Desktop computer is: Raspberry Pi
Secret code: OwjQkUo9Bgk
Compilers used: GCC 5.3.1
Robot is: Nao V4
If anything in the video requires clarification, please write a comment. I try to reply to every unique comment that contains a question addressed to me. Please make sure your privacy settings (possibly found as far as in Google+) will not prevent me from actually replying.
The editor used in the video, with Mario and all, is a 16-bit homebrew editor that only runs in 16-bit DOS. You can download it at the download page, but note that it is only designed for video making. It’s not meant for actual use, but it does work and is largely modelled after Joe.
Joseph Allen’s “Joe” editor makes an appearance at 21:11. You can find Joe at: joe-editor.sour... . It is my primary editing environment, both in Linux and in Cygwin. I am not using any other IDE.
Linux is used under DOSBox (for purpose of video production only) by using a modified version of DOSBox that provides forkpty() functions as DOS interrupts, and a homebrew terminal program running in DOS, that supports xterm-256color escapes. The terminal program is useless without the patched version of DOSBox (and furthermore this patch will only work in Linux). Nonetheless you can find both on the download page, linked above.
Reference material used and highly recommended:
en.cppreference...
en.cppreference...
en.cppreference...
en.cppreference...
en.cppreference...
en.cppreference...
en.cppreference...
en.cppreference...
About author: Joel Yliluoma is an author who publishes videos in RU-vid under the name “Bisqwit”, ranging diverse topics from programming to gaming and from cats to religion. He has been programming since 1992, and for most years since then, it has been his primary, sometimes only hobby. Though most of his professional life has been spent developing business web applications, he prefers working with low level code targeting older systems. In 2014―2015 he was also a coach driver working for Savonlinja in Finland. He is also known for founding TASVideos.org, a website and community centered around making “tool-assisted” speedruns of classic video games. Outside Internet, he is known for teaching Israeli folk dance in Finland.
Twitter: / realbisqwit
Patreon: / bisqwit (alternatives at iki.fi/bisqwit...)
Twitch: / realbisqwit
Homepage: iki.fi/bisqwit/
The source code and other materials can be DOWNLOADed here: bisqwit.iki.fi...
You can contribute subtitle translations at: www.youtube.co...
If you want to help me with money, I have a Patreon page at: / bisqwit
Note to self: Possible topics for a hypothetical second episode:
- Thread-local variables
- Memory order declarations
- What the standard says about memory interactions between threads
- What the standard guarantees about when variable changes are committed into RAM
- Clustering
- CPU affinity
#Bisqwit #ThreadProgramming #Tutorial #Parallelism #Programming
6 окт 2024