Igor Bišćanin (2011) The influence of thread pools on application performance. EngD thesis.
Abstract
Multithreaded applications are faster as they can effectively exploit the capabilities of modern computer systems. The purpose of this thesis is to present the efficiency of multithreaded applications with the use of a simple Windows console application which copies files from one directory to another using different thread pools. In this thesis we describe the ways of developing multithreaded applications, some limitations which should be taken into account when developing multithreaded applications, and the principles of protecting the access to shared data from different threads simultaneously. A console application for the copying of files was developed in Visual Studio 2010 in C++ programming language. Based on the input parameter, the application determines the number of working threads in a thread pool and then assigns a specific task to each thread. The efficiency of the application was tested with various test cases and the results are suitably presented. We learned that multithreaded applications are more efficient for the copying of larger files although the hard disk presents a certain limitation. A higher number of worker threads does not increase the efficiency of the application when copying smaller files which is a faster operation. The time needed for creating new worker threads and for checking whether any threads are free decreases the efficiency of the application if the number of worker threads is too high.
Actions (login required)