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...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
In this paper the main approaches to constructing concurrent programs will be presented and compared...
Computational thinking (CT) tools, as a software system, express their designers' perspective on how...
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...
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...
International audienceModern computing systems are highly concurrent. Threads run concurrently in sh...
In this article, we report on an investigation into how educators describe the design of three softw...
Thus far, we’ve written about concurrency as if the only way to build concurrent applications is to ...
Threads − A System for the Support of Concurrent Programming We describe a system, Threads, whose pu...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
In this paper the main approaches to constructing concurrent programs will be presented and compared...
Computational thinking (CT) tools, as a software system, express their designers' perspective on how...
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...
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...
International audienceModern computing systems are highly concurrent. Threads run concurrently in sh...
In this article, we report on an investigation into how educators describe the design of three softw...
Thus far, we’ve written about concurrency as if the only way to build concurrent applications is to ...
Threads − A System for the Support of Concurrent Programming We describe a system, Threads, whose pu...
Modern concurrent programming benefits from a large variety of synchronization techniques. These inc...
In this paper the main approaches to constructing concurrent programs will be presented and compared...
Computational thinking (CT) tools, as a software system, express their designers' perspective on how...