This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 110b. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.

2023-01-15


786. Definition of “thread”

Section: 6.9.2  [intro.multithread]     Status: CD2     Submitter: US     Date: 3 March, 2009

N2800 comment US 17

[Voted into WP at October, 2009 meeting.]

The term “thread” is introduced but not defined in 6.9.2 [intro.multithread] paragraph 1. A definition is needed.

Proposed resolution (September, 2009):

Chamge 6.9.2 [intro.multithread] paragraph 1 as follows:

A thread of execution (a.k.a. thread) is a single flow of control within a program, including the initial invocation of a specific top-level function, and recursively including every function invocation subsequently executed by the thread. [Note: When one thread creates another, the initial call to the top-level function of the new thread is executed by the new thread, not by the creating thread. —end note] Every thread in a program can potentially access every object and function in the program. [Footnote: An object with automatic or thread storage duration (6.7.5 [basic.stc]) is associated with one specific thread, and can be accessed by a different thread only indirectly through a pointer or reference (6.8.4 [basic.compound]). —end footnote] Under a hosted implementation, a C++ program can have more than one thread of execution (a.k.a. thread) thread running concurrently...