@@ -473,21 +473,16 @@ \section{Threaded Filter Execution}
473473
474474Multi-threading requires caution when performing I/O (including using
475475\code {cout} or \code {cerr}) or invoking events. A safe practice is to allow
476- only thread id zero to perform I/O or generate events. (The thread id is
477- passed as argument into \code {ThreadedGenerateData(Region, ThreadId)}).
476+ only the invoking thread to perform I/O or generate events.
478477If more than one thread tries to write to the same place at the same time,
479478the program can behave badly, and possibly even deadlock or crash.
480479
481- In ITK version 5.0, `DynamicThreadedGenerateData` signature was introduced.
482- This allows number of pieces (output regions) to be processed to be different,
483- usually bigger than the number of real threads executing the work. In turn,
484- this allows load balancing. The number of pieces has been renamed into
485- work units, and the name `threads' is now reserved for real threads,
486- as exposed by \doxygen {MultiThreaderBase} and descendants.
487-
488- Filters which need thread identifier (id) should implement the
489- \code {ThreadedGenerateData(Region, ThreadId)} method and call
490- \code {this->DynamicMultiThreadingOff();} in the filter's constructor.
480+ \code {DynamicThreadedGenerateData} signature allows number of pieces
481+ (output regions) to be processed to be different, usually bigger than the
482+ number of real threads executing the work. In turn, this allows load
483+ balancing. The number of work units controls filter parallelism,
484+ and the name `threads' is reserved for real threads as exposed by
485+ \doxygen {MultiThreaderBase} and its descendants.
491486
492487
493488
0 commit comments