| /oneTBB/doc/main/tbb_userguide/ |
| H A D | Concurrent_Queue_Classes.rst | 8 queue with values of type ``T``. Multiple threads may simultaneously 9 push and pop elements from the queue. The queue is unbounded and has no 12 std::queue. The operation ``try_pop`` pops an item if it is available. 23 extern std::queue<T> MySerialQueue; 35 queue. For example, ``MySerialQueue.empty()`` might return true just 62 or to wait for the queue to become non-empty. Typically this is 75 queue's capacity. 79 queue's capacity. 97 the queue capacity with method ``set_capacity``.Setting the capacity 98 causes ``push`` to block until there is room in the queue. Bounded [all …]
|
| H A D | Iterating_Over_a_Concurrent_Queue_for_Debugging.rst | 9 is intended only for debugging, when you need to dump a queue. The 11 production code. If a queue is modified, all iterators pointing to it 12 become invalid and unsafe to use. The following snippet dumps a queue.
|
| H A D | When_Not_to_Use_Queues.rst | 8 producers. Before using an explicit queue, however, consider using 13 - A queue is inherently a bottle neck, because it must maintain 21 - A queue is a passive data structure. If a thread pushes a value, it
|
| H A D | broadcast_or_send.rst | 59 First, function_nodes by default queue up the messages they receive at
|
| /oneTBB/src/tbb/ |
| H A D | task_stream.h | 123 d1::task* get_item( lane_t::queue_base_t& queue ) { in get_item() argument 124 d1::task* result = queue.front(); in get_item() 125 queue.pop_front(); in get_item() 134 d1::task* get_item( lane_t::queue_base_t& queue ) { in get_item() argument 136 __TBB_ASSERT(!queue.empty(), nullptr); in get_item() 139 result = queue.back(); in get_item() 140 queue.pop_back(); in get_item() 141 } while ( !result && !queue.empty() ); in get_item() 261 __TBB_ASSERT( !queue.empty(), nullptr); in look_specific() 269 if( queue.end() - curr == 1 ) in look_specific() [all …]
|
| /oneTBB/test/conformance/ |
| H A D | conformance_concurrent_queue.cpp | 88 const CQ queue; in TestEmptyQueue() local 109 CQ queue; in TestFullQueue() local 141 CQ queue; in TestClear() local 148 queue.push(f); in TestClear() 153 queue.clear(); in TestClear() 162 queue.clear(); in TestClear() 233 CQ queue; in TestIterator() local 605 CHECK((queue.empty() == (queue.size() <= 0))); in operator ()() 640 CQ* queue; member 696 CQ queue; in TestPushPop() local [all …]
|
| H A D | conformance_limiter_node.cpp | 109 oneapi::tbb::flow::queue_node<int> queue(g); 110 make_edge(limit, queue); 124 while( queue.try_get(actual) ) 131 make_edge(limit2, queue); 142 while( queue.try_get(actual) ) 149 make_edge(limit3, queue); 159 while( queue.try_get(actual) ){ 168 make_edge(limit4, queue); 179 while( queue.try_get(actual) ){
|
| /oneTBB/test/tbb/ |
| H A D | test_concurrent_queue.cpp | 32 CQ& queue; member 34 TestQueueElements( CQ& q, std::size_t n ) : queue(q), nthread(n) {} in TestQueueElements() 39 queue.push(T(k)); in operator ()() 43 queue.try_pop(item); in operator ()() 53 CQ queue; in TestPrimitiveTypes() local 55 queue.push(exemplar); in TestPrimitiveTypes() 57 utils::NativeParallelFor(nthread, TestQueueElements<CQ, T>(queue, nthread)); in TestPrimitiveTypes()
|
| H A D | test_limiter_node.cpp | 379 tbb::flow::queue_node<int> queue(g); in test_decrementer() local 380 make_edge(limit, queue); in test_decrementer() 394 while( queue.try_get(actual) ) in test_decrementer() 401 make_edge(limit2, queue); in test_decrementer() 412 while( queue.try_get(actual) ) in test_decrementer() 419 make_edge(limit3, queue); in test_decrementer() 429 while( queue.try_get(actual) ){ in test_decrementer()
|
| H A D | test_concurrent_queue_whitebox.cpp | 46 FloggerBody( Q& queue, std::size_t el_num ) in FloggerBody() argument 47 : q(queue), elem_num(el_num) {} in FloggerBody()
|
| H A D | test_resumable_tasks.cpp | 88 std::queue<tbb::task::suspend_point> m_tagQueue; 239 std::queue<tbb::task::suspend_point> m_tagQueue;
|
| /oneTBB/doc/main/tbb_userguide/design_patterns/ |
| H A D | Local_Serializer.rst | 202 oneapi::tbb::concurrent_queue<WorkItem*> queue; 204 void moveOneItemToReadyPile() { // Transfer item from queue to ReadyPile 206 queue.try_pop(item); 211 queue.push(item); 225 - A queue of WorkItem waiting for prior work to complete. 243 1 to 0, then the queue is non-empty and another item in the queue
|
| H A D | Non-Preemptive_Priorities.rst | 127 // One queue for each priority level 171 for ``ReadyPileType``. A priority queue could be used to implement
|
| /oneTBB/examples/test_all/fibonacci/ |
| H A D | fibonacci.cpp | 292 void operator()(queue_t *queue) const { in operator ()() 296 while (!queue->try_pop(m1)) in operator ()() 298 while (!queue->try_pop(m2)) in operator ()() 301 queue->push(m1); // and push back in operator ()()
|
| /oneTBB/include/oneapi/tbb/ |
| H A D | concurrent_queue.h | 32 std::pair<bool, ticket_type> internal_try_pop_impl(void* dst, QueueRep& queue, Allocator& alloc ) { in internal_try_pop_impl() argument 36 ticket = queue.head_counter.load(std::memory_order_acquire); in internal_try_pop_impl() 38 …if (static_cast<std::ptrdiff_t>(queue.tail_counter.load(std::memory_order_relaxed) - ticket) <= 0)… in internal_try_pop_impl() 44 } while (!queue.head_counter.compare_exchange_strong(ticket, ticket + 1)); in internal_try_pop_impl() 45 } while (!queue.choose(ticket).pop(dst, ticket, queue, alloc)); in internal_try_pop_impl()
|
| /oneTBB/src/tbb/def/ |
| H A D | lin64-tbb.def | 141 /* Concurrent bounded queue (concurrent_bounded_queue.cpp) */
|
| H A D | lin32-tbb.def | 141 /* Concurrent bounded queue (concurrent_bounded_queue.cpp) */
|
| H A D | mac64-tbb.def | 143 # Concurrent bounded queue (concurrent_bounded_queue.cpp)
|
| H A D | win64-tbb.def | 135 ; Concurrent bounded queue (concurrent_bounded_queue.cpp)
|
| H A D | win32-tbb.def | 135 ; Concurrent bounded queue (concurrent_bounded_queue.cpp)
|
| /oneTBB/examples/graph/binpack/ |
| H A D | README.md | 4 …policy. Items that cannot be made to fit are rejected and returned to the queue. When a bin is pac…
|
| /oneTBB/examples/concurrent_priority_queue/shortpath/ |
| H A D | README.md | 8 Note that since we re-visit nodes, the `f` estimate (on which the priority queue is sorted) is not …
|
| /oneTBB/include/oneapi/tbb/detail/ |
| H A D | _flow_graph_cache_impl.h | 61 std::queue< T * > my_q;
|
| H A D | _concurrent_queue_base.h | 371 micro_queue_pop_finalizer( Container& queue, Allocator& alloc, ticket_type k, padded_page* p ) : in micro_queue_pop_finalizer() argument 372 my_ticket_type(k), my_queue(queue), my_page(p), allocator(alloc) in micro_queue_pop_finalizer()
|
| /oneTBB/doc/main/tbb_userguide/Migration_Guide/ |
| H A D | Task_API.rst | 388 queue of tasks ready for execution via ``oneapi::tbb::task_group::run``, but bypassed to the execut…
|