当前位置:  技术问答>linux和unix

pthread_create 创建线程的时候如何让他先暂停,等我让他运行才运行?

    来源: 互联网  发布时间:2017-01-03

    本文导语:  pthread_create 创建线程的时候如何让他先暂停,等我让他运行才运行? 就像CreateThread 传递 暂停 的参数 那样。。。创建成功后,我不想让他先运行 等会运行 怎么做呢? | 方法很多,土一...

pthread_create 创建线程的时候如何让他先暂停,等我让他运行才运行?

就像CreateThread 传递 暂停 的参数 那样。。。创建成功后,我不想让他先运行 等会运行 怎么做呢?

|
方法很多,土一点用哨兵,直到哨兵值改变才可以开始运行
高级一点的,可以用同步之类的方法,线程启动后阻塞,当需要它运行时候不让他阻塞

|

期待详解!

|


创建线程时传入一个Pipe,线程函数内阻塞读pipe,或者select pipe都行,想启动的时候写1字节进去.

|
互斥量+条件变量也一样,啥都行,只要能通知,FIFO,消息队列,信号量,爱咋咋地,你能折腾对都是可以实现的.


|
示例一个,程序不完整,仅供参考:
#define PERMS S_IRUSR|S_IWUSR

int semId;

void *thread1(void *arg){
struct sembuf sem;
sem.sem_num=0;
sem.sem_op=-1;
sem.sem_flg=0;

if(semop(semId,&sem,1) == -1){
printf("semop error");
exit(1);
}
printf("child thread...n");
}

int main()
{
pthread_t pid;
int err, i;
struct sembuf sem;


semId = semget(IPC_PRIVATE,1,PERMS);
if(semId ==-1)
{
exit(1);
}

sem.sem_num=0;
sem.sem_op=1;
sem.sem_flg=0;

err = pthread_create(&pid,NULL,thread1,NULL);

for(i=1; i

    
 
 

您可能感兴趣的文章:

  • 用pthread_create建立线程后如何让线程运行的函数在create完了之后才实际运行 相当与windows下的CREATE_SUSPENDED ??
  • linux下进程和线程的区别(fork(),pthread_create())?
  • 请问:linux下如何将一个类的指针作为参数传给pthread_create创建的线程?
  • 请问:为什么我在守护进程里面用pthread_create来启动线程,经常会卡在那里阿?
  • pthread_create所创建的线程中的static变量
  • pthread_create创建线程问题
  • 为什么pthread_create创建线程出错.有完整代码,哪儿错了,大家给试试.
  • pthread_create()创建一千次以上线程失败!!为什么??请大家帮忙看一下
  • 求助:用pthread_create创建的线程最多为303个,可以更多吗?
  • linux下pthread_create创建线程问题
  • 创建线程函数pthread_create,在c/c++的用法。
  • [请教]pthread_create多线程问题
  • 求救:AIX 4.3上用pthread_create创建线程时居然随机地非法操作?
  • pthread_create错误,怎么在C++类中定义线程函数指针
  • 线程控制,但是pthread_create(&pid, NULL, &handle_roution, NULL)更本没走进去????????????
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 一个pthread_create 编译出错,是什么原因啊
  • Linux里的pthread_create会不会阻塞啊?
  • 关于pthread_create函数的问题
  • pthread_create的问题
  • pthread_create函数执行问题
  • 为什么pthread_create`编译通不过
  • 包含了#include <pthread.h>,为什么还有pthread_create错误?
  • 无法使用pthread_creat()函数的问题
  • 有关使用pthread_creat时的参数传递问题!!!
  • pthread_create 的问题 ,求救大家!!!
  • pthread_create函数编译时报错?
  • REDHAT7.2提示:undefined reference to "pthread_create"
  • pthread_create 为何报 Segmentation fault?
  • pthread_create编译错误
  • ★pthread_create 与 thr_create的区别是什么?★
  • 求助!!undefined reference to 'pthread_create'
  • 急!同一个c文件里vfork();pthread_create();两个函数,Makefile该怎么写?谢谢
  • 在LINUX GCC 编译错误 UnDefined reference to "pthread_creat"
  • No manual entry for pthread_create,我安了manpages-dev和glibc-doc
  • pthread_create函数返回值问题


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3