The C++11 standard finally introduced mechanisms for platform independent multithreading and thread synchronisation. Unfortunately, the new language standard lacks a popular synchronisation primitive called semaphore (see The Little Book of Semaphores for an introduction). Fortunately, the built-in mutexes and condition_variable s can be used to build fully-fledged semaphore objects:
Just a short note about configuring Linux for using Apple’s nice Aluminium Keyboard: Linux uses the kernel module hid_apple to support this USB device. However, there are two problems:
Maybe the most elegant (obfuscated) way to generate a Sierpinski triangle :-)