Multithreading is seen by modern programmers as a fact of life and many of us use it without hesitation. In reality, in modern software development frameworks, concurrency and planning algorithms are becoming very important.
The purpose of the talk is to tell in detail how multithreading is arranged on the Darwin platform. Vladimir will make a brief historical journey (about macOS/iOS multithreading) and tell about all concurrency mechanisms available to modern iOS developer. The icing on the cake will be an analysis of tricky multithreading problems encountered by the speaker in practice.