Lines Matching full:threads
34 // threads had a slight impact on this approach, and required use of some locks
35 // when accessing data from the worker threads.
71 // threads there are, and how many Locations of construction there are.
100 // To provide a mechanism for iterating over all "known threads," which means
101 // threads that have recorded a birth or a death, we create a singly linked list
121 // structures that are asynchronously changing on various threads. For display
133 // instances are thread safe containers which are passed to various threads to
137 // need to be sorted, and possibly aggregated (example: how many threads are in
208 // birthplace (fixed Location). Used both on specific threads, and also used
217 // threads, we create DeathData stats that tally the number of births without
247 // gathered (carefully) from many threads. Instances are held in arrays and
249 // The source of this data was collected on many threads, and is asynchronously
286 // Posttask on any threads, or passed to all the target threads in parallel.
292 // Construct with a list of how many threads should contribute. This helps us
298 // mutex protected, and *could* be called from any threads (although current
313 // This instance may be provided to several threads to contribute data. The
314 // following counter tracks how many more threads will contribute. When it is
507 // from non-local threads, and are used to quickly scan data from all threads
521 // Using the "known list of threads" gathered during births and deaths, the
522 // following attempts to run the given function once all all such threads.
523 // Note that the function can only be run on threads which have a message
535 // all registered threads. IF you call it later, you will crash.
540 // further additions to thread database on all threads. First it makes a
541 // local (locked) change to prevent any more threads from registering. Then
542 // it Posts a Task to all registered threads to be sure they are aware that no
548 // (again) and all message loops and threads have terminated. Until that
549 // point some threads may still attempt to write into our data structures.
570 // protected by a mutex. Running on all threads guarantees we get the
571 // notification into the memory cache of all possible threads.
583 // setting is redundantly established by all participating threads so that we
584 // are *guaranteed* (without locking) that all threads can "see" the status
589 // registered instances (corresponds to all registered threads where we keep
594 // should be directed. Since some threads have no message loop, some
606 // It is locked before changing, and hence other threads may access it by
612 // threads. To support this, we acquire this lock if we are writing from this
625 // done when running in threaded mode (before spawning a lot of threads
626 // for construction, and after shutting down all the threads for destruction).