The Sleeping Barber problem, a classic inter-process communication problem, can be studied and explored more easily using tools such as the Concurrency Explorer than using standard parallel or asynchronous coding techniques.
This article will show how to use the most important features of a background worker to load the balance of your code between different working threads. It will also demonstrate how to take progress events from the background worker and how to cancel a currently running thread.
This article includes a description of the monitoring process for the session logon/logout, connect/disconnect (regarding terminal and client sessions). Obtained results will be then used in the next article ”Creating process in the session”.
C++11 header-only class, executes functions on a separate thread, including return values. Featuring a unique custom built, low level, lock-free double buffered queue; with a high speed data format, executes a queue of functions in only 6 CPU instructions; lea,call,mov,add,cmp,jb