//===-- Queue.h ------------------------------------------------*- C++ -*-===// // // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. // See https://llvm.org/LICENSE.txt for license information. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===----------------------------------------------------------------------===// #ifndef LLDB_TARGET_QUEUE_H #define LLDB_TARGET_QUEUE_H #include <string> #include <vector> #include "lldb/Target/QueueItem.h" #include "lldb/lldb-enumerations.h" #include "lldb/lldb-forward.h" #include "lldb/lldb-private.h" namespace lldb_private { // Queue: // This class represents a libdispatch aka Grand Central Dispatch queue in the // process. // // A program using libdispatch will create queues, put work items // (functions, blocks) on the queues. The system will create / reassign // pthreads to execute the work items for the queues. A serial queue will be // associated with a single thread (or possibly no thread, if it is not doing // any work). A concurrent queue may be associated with multiple threads. class Queue : public std::enable_shared_from_this<Queue> { … }; } // namespace lldb_private #endif // LLDB_TARGET_QUEUE_H