In this thesis, we investigate some of the options programmers have when writing a concurrent program. We explore the use of manually created threads, thread-pools, actors, and Software Transactional Memory. We use these techniques to implement case studies of various kinds: a video game, a physical simulation, an image-processing application, and a concurrent data structure. Through-out these case studies, we notice a common thread: concurrency, applied correctly, can improve the performance of a program—but the correct application may not be readily apparent. Concurrency is an important tool in the toolbox of the modern programmer, especially with the rise of multi-core architectures and the increasing prevalence of distributed systems. A...
Thus far, we’ve written about concurrency as if the only way to build concurrent applications is to ...
In this paper the main approaches to constructing concurrent programs will be presented and compared...
In the past decades, many different programming models for managing concurrency in applications have...
In this thesis, we investigate some of the options programmers have when writing a concurrent progra...
Concurrency has always been one of the major themes in any introductory Operating Systems course. In...
The inevitable transition to parallel programming can be facilitated by appropriate tools, including...
This document is presented in fulfilment of the degree of \emph{Habilitation \`{a} Diriger des Reche...
Efficiency of software application is one of the important metrics that are used to measure the qual...
Concurrency control in modern programming languages is typically managed using mechanisms based on m...
Threads − A System for the Support of Concurrent Programming We describe a system, Threads, whose pu...
In this article, we report on an investigation into how educators describe the design of three softw...
This book is a collection of the papers presented at the 32nd Communicating Process Architecture con...
In this paper we examine how concurrency has been embodied in mainstream programming languages. In p...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
International audienceModern computing systems are highly concurrent. Threads run concurrently in sh...
Thus far, we’ve written about concurrency as if the only way to build concurrent applications is to ...
In this paper the main approaches to constructing concurrent programs will be presented and compared...
In the past decades, many different programming models for managing concurrency in applications have...
In this thesis, we investigate some of the options programmers have when writing a concurrent progra...
Concurrency has always been one of the major themes in any introductory Operating Systems course. In...
The inevitable transition to parallel programming can be facilitated by appropriate tools, including...
This document is presented in fulfilment of the degree of \emph{Habilitation \`{a} Diriger des Reche...
Efficiency of software application is one of the important metrics that are used to measure the qual...
Concurrency control in modern programming languages is typically managed using mechanisms based on m...
Threads − A System for the Support of Concurrent Programming We describe a system, Threads, whose pu...
In this article, we report on an investigation into how educators describe the design of three softw...
This book is a collection of the papers presented at the 32nd Communicating Process Architecture con...
In this paper we examine how concurrency has been embodied in mainstream programming languages. In p...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
International audienceModern computing systems are highly concurrent. Threads run concurrently in sh...
Thus far, we’ve written about concurrency as if the only way to build concurrent applications is to ...
In this paper the main approaches to constructing concurrent programs will be presented and compared...
In the past decades, many different programming models for managing concurrency in applications have...