Abstract:
Thread synchronization mechanisms are widely used in software development for assuring the correct work of multithreaded applications, especially the correct access to shared variables. However these mechanisms come at a price and this price is the performance of the system. This article presents different ways in which thread synchronization techniques can cause performance drops. Also there are presented various ways of avoiding these situations by choosing alternative ways of designing the system and using appropriate data structures and mechanisms.