This short paper was submitted to University of Jyväskylä, Faculty of Information Technology, as a partial fulfillment of the requirements for the functional programming course (Funktio-ohjelmointi 2).
The paper is written in Finnish, but the abstract and the title is published also in English.
Thread synchronization with locks is cumbersome and error-prone. Furthermore, lock-based implementations are not modular. While multicore processors keep penetrating user markets, programmers have to find better methods to harness the benefits and manage the complexity of multithreading in applications. In this paper, I'll give a glance at one solution for these new challenges, namely Software Transactional Memory.