International Journal of Computer Theory and Engineering (IJCTE)
The use of multithreading can enhance the performance of a software system. However, its excessive use can degrade the performance. For example, a thread-per-job approach might lead to a large amount of threads with increased associated overheads. In this paper, the authors explore the use of the Parallelism Viewpoint to support one possible strategy to reduce the number of threads, namely finding candidate threads that can be replaced by thread pooling. Thread pooling reduces the large number of threads by reusing threads from an existing pool. As an example they analyze the threads of a precision critical parallelism-intensive electron microscope software system.