linux pthread

来源:互联网 发布:大数据挖据市场前景 编辑:程序博客网 时间:2024/06/05 17:42

pthread_equal的作用:

在线程中,线程ID的类型是pthread_t类型,由于在Linux下线程采用POSIX标准,所以,在不同的系统下,pthread_t的类型是不同的,比如在ubuntn下,是unsigned long类型,而在solaris系统中,是unsigned int类型。而在FreeBSD上才用的是结构题指针。 所以不能直接使用==判读,而应该使用pthread_equal来判断。


sched_yield的作用:

sched_yield()这个函数可以使用另一个级别等于或高于当前线程的线程先运行。如果没有符合条件的线程,那么这个函数将会立刻返回然后继续执行当前线程的程序。  

在成功完成之后返回零,否则返回-1. 


 int pthread_atfork(void (*prepare)(void), void (*parent)(void),void (*child)(void));

它允许指定在 fork 被调用时的处理函数:

  • prepare 新进程产生之前被调用。
  • parent 新进程产生之后在父进程被调用。
  • child 新进程产生之后,在子进程被调用。

pthread_kill

pthread_kill不是kill,而是向线程发送signal。向指定线程发送sig信号,如果线程内不做处理,则按照信号默认的行为影响整个进程,也就是说,如果你

给一个进程发送了SIGQUIT,但线程却没有实现signal处理函数,则整个进程退出。sig=0,这是一个保留信号,一个作用是用来判断线程是不是还活着。


0 0
原创粉丝点击