– Organizing software system as set of modules, interfaces and control systems.
– Multithreading – prerequisites of use and objective necessity.
– Creating multithreading while designing algorithms.