ABSTRACT

Operating systems typically are implemented with lower-level languages for performance reasons and to facilitate fine-grained control over the underlying hardware. Concurrency can be quite difficult to manage at this low level and must be planned very carefully for both performance and correctness reasons. On the other extreme are database-specific languages, such as Structured Query Language (SQL). In that case, programmers work at a very high level and are concerned with very specific types of concurrent operations. Concurrency in both of these cases is very specific to the problem domain, and looking only at these cases fails to paint a complete picture of the topic. This entry aims to provide an introduction to high-level methods for dealing with concurrency in a general context.