One of the main goals of using concurrent computing is to speed up the computations. This is done by structuring a program in threads in a way to have a possibility of dynamic reallocation of processor time for other threads when one thread is idle. However, the possible speedup and the overall performance depends on many factors, including synchronization algorithms used in a program, a pattern of thread interaction, a pattern of waiting for external events etc. Therefore, before choosing a better process synchronization algorithm for a specific situation, the performance of possible algorithms to be used should be analyzed. Methods for analyzing such performance for different situations are the object of study of the research.