手画线程池

自己学习线程的时候画图加以自己的理解并侧入小故事

3个结构体

  1. 客人们
  2. XX酒店
  3. 技师们

故事图片已经在这里了

在这里插入图片描述

下面铺代码

#define LL_ADD(item,list)do{
    
    
	item->prev = NULL;
	item->next = list;
	list = item;
}while(0)

typedef struct NWORKER
{
    
    
	pthread_t threadid;

	struct NWORKER* prev;
	struct NWORKER* next;
}nWorker;

typedef struct NJOB
{
    
    
	void(*job_func)(void* arg);
	void* user_data;

	struct NJOB* prev;
	struct NJOB* next;
}nJob; 

typedef struct NTHREADPOOL
{
    
    
	struct NWORKER* workers;
	struct NJOB* job;

	pthread_mutex_t jobs_mtx;
	pthread_cond_t jobs_cond;

}nThreadPool;

猜你喜欢

转载自blog.csdn.net/u011213040/article/details/103725205