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

找做仿网站网站城市切换如何做

找做仿网站,网站城市切换如何做,泰州整站优化,靖江市建设行业协会网站主线程启动用户指定数量的线程#xff0c;这些线程进入条件等待状态。 主线程生成一些任务#xff08;一定计算量#xff09;#xff0c;每生成一个新的任务#xff0c;就用条件变量唤醒一个线程#xff0c;当这个唤醒线程执行完任务时#xff0c;回到条件等待状态。 当…主线程启动用户指定数量的线程这些线程进入条件等待状态。 主线程生成一些任务一定计算量每生成一个新的任务就用条件变量唤醒一个线程当这个唤醒线程执行完任务时回到条件等待状态。 当主线程生成完所有任务设置全局变量表示再没有要生成的任务了并用一个广播唤醒所有线程。为了清晰起见建议任务采用链表操作。 #include iostream #include stdlib.h #include pthread.h using namespace std; const int N1e4,N11e6; struct Node {int id;int a[N1],b[N1];Node* next; }; struct Queue {Node* front;Node* tail; }; int InitQueue(Queue* T); int Add(Queue* T, int e); int DoTask(Queue* T, int* ep); int thread_count, finished 0; pthread_mutex_t mutex,actprint; pthread_cond_t cond; void* task(void* rank); Queue Q; int main(int argc, char* argv[]) { srand(0);InitQueue(Q);pthread_t *thread_handles;thread_count strtol(argv[1], NULL, 10);//从命令行读取线程数thread_handles new pthread_t[thread_count];//分配长度pthread_mutex_init(mutex, NULL);pthread_mutex_init(actprint, NULL);pthread_cond_init(cond, NULL);int n;printf(Please input the task number:);cinn;for (int i 0; i thread_count; i)pthread_create(thread_handles[i], NULL, task, (void*)i);for (int i 0; i n; i) {pthread_mutex_lock(mutex);Add(Q, i);pthread_cond_signal(cond);pthread_mutex_unlock(mutex);}finished 1;pthread_cond_broadcast(cond);for (int i 0; i thread_count; i)pthread_join(thread_handles[i], NULL);pthread_mutex_destroy(mutex);pthread_mutex_destroy(actprint);pthread_cond_destroy(cond);free(thread_handles);return 0; } int InitQueue(Queue* T) {T-front (Node*)malloc(sizeof(Node));T-tail T-front;T-front-id 0;T-front-next NULL;return 0; } int Add(Queue* T, int e) {Node* newnode (Node*)malloc(sizeof(Node));newnode-id e;newnode-next 0;int t,k0;for(int i0;iN1;i){trand()%N;newnode-a[k]t;}k0;for(int i0;iN;i){trand()%N;newnode-b[k]t;}T-tail-next newnode;T-tail newnode;return 0; } int DoTask(Queue* T, int* e) {Node* dest;if (T-tail T-front)return 0;//队列中已经没有任务dest T-front-next;//从头取出一个任务if (dest 0) return 0;for(int i0;iN1;i){//做任务dest-a[i]dest-a[i]*dest-b[i];}*e dest-id;T-front-next dest-next;free(dest);return 0; } void* task(void* rank) {long long my_rank (long long)rank;pthread_mutex_lock(actprint);coutprocess my_rank has been activatedendl;pthread_mutex_unlock(actprint);int my_task;Node** p (Q.front-next);while (1) {pthread_mutex_lock(mutex);if (finished) {if (*p NULL) {pthread_mutex_unlock(mutex);break;}DoTask(Q, my_task);pthread_mutex_unlock(mutex);printf(Thread %ld: Task no.%d\n, my_rank, my_task);}else {while(pthread_cond_wait(cond, mutex)!0);DoTask(Q, my_task);pthread_mutex_unlock(mutex);printf(Thread %ld: Task no.%d\n, my_rank, my_task);}} } 参考资料 Pthreads实现任务队列
http://www.huolong8.cn/news/22833/

相关文章:

  • 中英文网站用同域名软件开发项目经理
  • 外贸网站图片wordpress菜单美化
  • 手机网站特点合肥市住房和城乡建设厅
  • 一个人网站开发企业宣传册模板直接套用
  • 企业网站提交软装公司排名前十强
  • 顶呱呱网站建设价格网络营销外包服务商
  • 从化公司网站建设临沂网
  • 苏宁易购网站建设方案iptc网站开发工程师asp考试试题答案
  • 免费建站网站网页国外免备案虚拟主机
  • 免费看各大网站的软件如何对网站做优化
  • 大连省建设厅网站公司网页设计论文题目大全
  • 做网做网站建设手机网站建设教程视频
  • 网站开发手机编译器wordpress主题制作插件
  • 百度网站制作推广wordpress分页样式
  • 北京网站建设w亿玛酷1专注wordpress 插件国际化
  • 深圳房地产信息网官方网站国外ps素材网站
  • 襄阳营销型网站网站设计流行趋势
  • 网站被别人做了跳转做网站赚钱需要多少人手
  • 做资源网站需要什么河南网站建设技术公司
  • 济南网站制作建设婚礼策划网站建设
  • ps网站导航怎么做三亚高端服务网站
  • 那里可以做旅游网站的吗wordpress redis自动
  • 网站26个页面收费西安搬家公司联系电话
  • 网站技术策划人员要求大连网页制作培训学校
  • 北白象镇做公司网站哪里有高端大气的网络公司名称
  • 怎样做外贸网站推广做网站基本流程
  • 网站建设合同制wordpress 相亲主题
  • 有口碑的徐州网站开发商城网站开发方案书
  • 给别人云做网站赚钱吗做体育赛事网站公司
  • 宁波市镇海建设交通局网站网站设计制作全网优惠