Thread algebra for strategic interleaving

  • Authors:
  • J. A. Bergstra;C. A. Middelburg

  • Affiliations:
  • University of Amsterdam, Programming Research Group, P.O. Box 41882, 1009 DB, Amsterdam, The Netherlands and Utrecht University, Department of Philosophy, P.O. Box 80126, 3508 TC, Utrecht, The Net ...;University of Amsterdam, Programming Research Group, P.O. Box 41882, 1009 DB, Amsterdam, The Netherlands and Eindhoven University of Technology, Division of Computer Science, P.O. Box 513, 5600&#x ...

  • Venue:
  • Formal Aspects of Computing
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

We take a thread as the behavior of a sequential deterministic program under execution and multi-threading as the form of concurrency provided by contemporary programming languages such as Java and C#. We outline an algebraic theory about threads and multi-threading. In the case of multi-threading, some deterministic interleaving strategy determines how threads are interleaved. Interleaving operators for a number of plausible interleaving strategies are specified in a simple and concise way. By that, we show that it is essentially open-ended what counts as an interleaving strategy. We use deadlock freedom as an example to show that there are properties of multi-threaded programs that depend on the interleaving strategy used.