Chapter 29

Dataspaces

image

29.1 Constraints

  • Existence of one or more units that execute concurrently.
  • Existence of one or more data spaces where concurrent units store and retrieve data.
  • No direct data exchanges between the concurrent units, other than via the data spaces.

29.2 A Program in this Style

  1 #!/usr/bin/env python
  2 import re, sys, operator, Queue, threading
  3
  4 # Two data spaces
  5 word_space = Queue.Queue()
  6 freq_space = Queue.Queue()
  7
  8 stopwords = set(open('../stop_words.txt').read().split(','))
  9
 10 # Worker function that consumes words from the word space
 11 # and sends partial results to the frequency space
 12 def process_words(): ...

Get Exercises in Programming Style now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.