wait_queue.h

来自「C++ SOCKET 类」· C头文件 代码 · 共 53 行

H
53
字号
#ifndef __THREAD_WAIT_QUEUE_H#define __THREAD_WAIT_QUEUE_H#include "spinlock.h"#include "attributes.h"extern "C" {# include <sys/types.h>};#define __THREAD_QUEUE_MAX    64namespace cpp_threads {  struct priority_queue {    pid_t   q_pid;    int     q_pri;  };  class WaitQueue {  private:    int               _id;    attributes::scope _scope;    struct storage {      int            w_magic;      short          w_top,w_bottom;      spinlock       w_sync;      priority_queue w_pid[__THREAD_QUEUE_MAX];    } *_wq;    void init(attributes::scope);  public:    WaitQueue(int);    WaitQueue(attributes::scope);    WaitQueue();    ~WaitQueue();        bool empty();        void insert(int,int p=-1);    void remove(int);        void suspendMe(int p=-1);    void wakeUp();  };}; // namespace#endif /* __THREAD_WAIT_QUEUE_H */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?