当前位置: 首页 > news >正文

wordpress网站安全性做个营销网站

wordpress网站安全性,做个营销网站,微信开发工具官网,免费的app下载网站https://www.cnblogs.com/GyForever1004/p/9185240.html 线程池的定义 线程池是一种多线程处理形式#xff0c;处理过程中将任务添加到队列#xff0c;然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小#xff0c;以默认的优先级…https://www.cnblogs.com/GyForever1004/p/9185240.html 线程池的定义 线程池是一种多线程处理形式处理过程中将任务添加到队列然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小以默认的优先级运行并处于多线程单元中。如果某个线程在托管代码中空闲如正在等待某个事件,则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙但队列中包含挂起的工作则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队但他们要等到其他线程完成后才启动。 什么时候需要创建线程池呢 简单的说如果一个应用需要频繁的创建和销毁线程而任务执行的时间又非常短这样线程创建和销毁的带来的开销就不容忽视这时也是线程池该出场的机会了。如果线程创建和销毁时间相比任务执行时间可以忽略不计则没有必要使用线程池了。 实现程序未完成相关资源的释放操作 /********************Pthread Pool14/06/18 22:06********************/#include stdio.h #include stdlib.h #include unistd.h #include sys/types.h #include pthread.h #include pthread.h/* 任务节点结构 */ typedef struct node {void (*func)(void *arg);unsigned int *work_id;struct node *next; }TaskNode;/* 线程池结构 */ typedef struct {pthread_cond_t ready;pthread_mutex_t lock;struct node *task_head;pthread_t *thread_id;unsigned int cur_queue_size; }PthreadPool;static PthreadPool *pool NULL;/* 定义线程 */ void *thread_routine (void *arg) {while(1){pthread_mutex_lock(pool-lock);if(!pool-cur_queue_size){printf(Thread is waiting .... \n);pthread_cond_wait(pool-ready, pool-lock);}pool-cur_queue_size--;TaskNode *worker pool-task_head;pool-task_head worker-next;pthread_mutex_unlock ((pool-lock));/* 调用函数执行任务 */worker-func(worker-work_id);free (worker);worker NULL;} }static void system_init () {int i 0;pool (PthreadPool*) malloc(sizeof(PthreadPool));/* 初始化锁与条件变量 */pthread_mutex_init (pool-lock, NULL);pthread_cond_init (pool-ready, NULL);/* 在池中加入 3 个线程 */pool-thread_id (pthread_t*) malloc(3 * sizeof(PthreadPool));pool-cur_queue_size 0;pool-task_head NULL;for(; i3; i)pthread_create(pool-thread_id[i], NULL, thread_routine, NULL); }/* 添加任务 */ int pool_add_work (void (*process)(void *arg), unsigned int *id) {TaskNode *new_work (TaskNode*) malloc(sizeof(TaskNode));new_work-func process;new_work-work_id id;new_work-next NULL;pool-cur_queue_size;TaskNode *temp pool-task_head;if(!temp)pool-task_head new_work;else{while(temp-next)temp temp-next;temp-next new_work;}pthread_cond_signal(pool-ready); }/* 定义用户任务 */ void my_process(void *arg) {printf (threadid is 0x%x, working on task %d \n, pthread_self(), *(int *)arg);sleep (1); }int main() {unsigned int work_id[10];int i 0;system_init();/* 等待线程运行 */sleep(1);for(; i10; i){work_id[i] i;pool_add_work(my_process, work_id[i]);}/* 等待任务执行完毕 */sleep(5);return 0; } Linux 上编译后运行结果 参考自blog.csdn.net/zouxinfox/article/details/3560891 你的支持就是我的动力 转载请注明出处谢谢
http://www.pierceye.com/news/888517/

相关文章:

  • 网站建设服务费应计入什么科目装饰公司简介内容
  • 淘宝客网站域名备案吗漂亮的ppt模板大全免费
  • 西安外贸网站开发网站后端做留言板功能
  • 自建淘宝客APP网站模板制作网站的公司
  • 最佳线上网站制作模板网站开发 企业 定制系统
  • 怎么将网站设置为首页百度seoo优化软件
  • iis6建设网站浏览wordpress显示在线人数
  • 一键制作单页网站女做受网站
  • 网站推广广告 优帮云开发公司资质哪里查
  • 沈阳网站建设思路做海报的话网站
  • 扬州网站建设suteng崇左网页设计
  • 中文网站模板html做网站 最好的开源cms
  • 个人资料展示网站网站建设网络推广外包服务商
  • 外贸网站建设有什么需要注意的吗网站建设职业发展前景
  • 企业网站建设方案效果版权WordPress
  • 做网站知道访客ip汝州文明建设网站
  • 吴江建设局网站打不开了网站备案信息地址
  • 长沙网站建设优化局域网网站架设软件
  • 重庆企业网站建设解决方案seo关键词怎么优化
  • 信誉好的大良网站建设做的好的ppt下载网站有哪些
  • 栖霞网站定制手机网站图片自适应代码
  • 企业网站管理中心网站海外推广
  • 书店商城网站设计万网虚拟主机做网站教程
  • 文化类网站是不是休闲娱乐类网站wordpress插件 ftp
  • 织梦系统网站吉林省建设安全厅官方网站
  • 网站推广网站关键词排名怎么做建站教程wp
  • 用织梦系统做网站产权网站建设需要掌握什么技术
  • 南宁seo平台费用安徽网站关键词优化排名
  • 李贤威 wordpress甘肃搜索引擎网络优化
  • 网站建设的步骤图片过程9377将军