亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

pthread_create函數返回1,也就是說創建線程失敗了,這是哪里有問題,麻煩各位幫忙一下

pthread_create函數返回1,也就是說創建線程失敗了,這是哪里有問題,麻煩各位幫忙一下

守候你守候我 2023-03-03 17:13:19
分享| 22 分鐘前150****9045 | 瀏覽 2 次iWork編程語言 修改標簽#include<stdio.h>#include<pthread.h>void a(int a){while(1){printf("123\n");sleep(1);}return; }int main(){pthread_t id;pthread_attr_t attr;int ret,inher;int policy=SCHED_FIFO;struct sched_param param;param.sched_priority=93;pthread_attr_init(&attr);ret=pthread_attr_setdetachstate(&attr,PTHREAD_CREATE_DETACHED);pthread_attr_getinheritsched(&attr,&inher);if(inher==PTHREAD_INHERIT_SCHED)printf("can't change sched policy1\n");else if(inher==PTHREAD_EXPLICIT_SCHED)printf("can change sched policy1\n");#if 1pthread_attr_setinheritsched(&attr,PTHREAD_EXPLICIT_SCHED);pthread_attr_getinheritsched(&attr,&inher);if(inher==PTHREAD_INHERIT_SCHED)printf("can't change sched policy2\n");else if(inher==PTHREAD_EXPLICIT_SCHED)printf("can change sched policy2\n");ret=pthread_attr_setschedpolicy(&attr,policy);if (ret==0){printf("set policy:%s\n",strerror(ret)); }ret=pthread_attr_setschedparam(&attr,?m);if (ret==0){printf("set param:%s\n",strerror(ret));}#endifret=pthread_create(&id,&attr,(void *)a,NULL);printf("ret=%d\n",ret);if (ret){printf("pthread_create:%s\n",strerror(ret));}}
查看完整描述

1 回答

?
江戶川亂折騰

TA貢獻1851條經驗 獲得超5個贊

我也碰到同樣的問題,我把這一行pthread_attr_setinheritsched(&attr,PTHREAD_EXPLICIT_SCHED);//注釋掉
就好了,而且attr中的屬性值也設置到線程里去了。
如果不注釋的話,就換成ROOT用戶執行,因為修改線程調度策略需要超級用戶。

查看完整回答
反對 回復 2023-03-06
  • 1 回答
  • 0 關注
  • 500 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號