|
4 | 4 | For the purposes of this document,
|
5 | 5 | the following terms and definitions apply.
|
6 | 6 |
|
| 7 | +\begin{comment} |
7 | 8 | \definition{thread of execution}{
|
8 | 9 | flow of control within a program,
|
9 | 10 | including a top-level statement or expression,
|
|
24 | 25 | There is typically significant overhead involved
|
25 | 26 | in creating a new OS thread.
|
26 | 27 | \end{note}
|
| 28 | +\end{comment} |
27 | 29 |
|
28 | 30 | \definition{thread}{
|
29 |
| -thread of execution, or OS thread |
| 31 | +either the main thread of the program, |
| 32 | +or a thread created by the program using |
| 33 | +\tcode{thrd_create}, |
| 34 | +or a worker thread |
30 | 35 | }
|
31 | 36 |
|
32 |
| -\begin{note} |
33 |
| -This word, when used without qualification, is ambiguous. |
34 |
| -\end{note} |
| 37 | +\definition{worker thread}{ |
| 38 | +thread created by the implementation |
| 39 | +(as if by |
| 40 | +\tcode{thrd_create}) |
| 41 | +for the purpose of executing tasks in parallel |
| 42 | +} |
35 | 43 |
|
| 44 | +\begin{comment} |
36 | 45 | \definition{execution agent}{
|
37 | 46 | entity, such as an OS thread,
|
38 | 47 | that may execute a thread of execution
|
|
41 | 50 | Adapted from the C++ standard.
|
42 | 51 | }
|
43 | 52 | }
|
| 53 | +\end{comment} |
44 | 54 |
|
45 | 55 | \definition{task}{
|
46 |
| -thread of execution within a program |
| 56 | +subsection of the flow of control |
| 57 | +within a program |
47 | 58 | that can be correctly executed asynchronously
|
48 | 59 | with respect to
|
49 |
| -independent threads of execution from} |
| 60 | +other, independent tasks in |
50 | 61 | the program
|
| 62 | +} |
51 | 63 |
|
52 | 64 | \definition{concurrent program}{
|
53 | 65 | program that uses multiple concurrent interacting threads of execution,
|
54 | 66 | each with its own progress requirements
|
55 |
| -} |
56 | 67 |
|
57 | 68 | \begin{example}
|
58 | 69 | A program that has separate server and client threads
|
59 | 70 | is a concurrent program.
|
60 | 71 | \end{example}
|
| 72 | +} |
61 | 73 |
|
62 | 74 | \definition{parallel program}{
|
63 | 75 | program whose computation
|
64 | 76 | involves independent tasks,
|
65 | 77 | which may be distributed across multiple computational units
|
66 | 78 | to be executed simultaneously
|
67 |
| -} |
68 | 79 |
|
69 | 80 | \begin{note}
|
70 | 81 | If sufficient computational resources are available,
|
71 | 82 | a parallel program may execute significantly faster than
|
72 | 83 | an otherwise equivalent serial program.
|
73 | 84 | \end{note}
|
| 85 | +} |
74 | 86 |
|
75 | 87 | \end{definitions}
|
0 commit comments