pthread_cancel 和pthread_kill的区别

转载 2013年12月06日 11:52:25

1、int pthread_kill(pthread_t thread, int sig);

功能是向指定线程发送信号,信号为0时用于检查此线程ID的线程是否存活。

pthread_kill的返回值:
成功:0
线程不存在:ESRCH
信号不合法:EINVAL

2、pthread_cancel(pthread_t thread);

功能是给线程发送取消信号,使线程从取消点退出。

取消点:

根据POSIX标准,pthread_join()pthread_testcancel()pthread_cond_wait()pthread_cond_timedwait()sem_wait()sigwait()等函数以及read()write()等会引起阻塞的系统调用都是Cancelation-point,而其他pthread函数都不会引起Cancelation动作。

pthread_testcancel()也是一个取消点


http://www.cnblogs.com/mydomain/archive/2011/08/15/2139850.html

http://blog.csdn.net/kaiwii/article/details/7719011

pthread_kill和pthread_cancel

pthread_kill和pthread_cancel 为了讲述标题两个函数,必须先介绍一下pthread线程库。 pthread线程库是遵循POSIX标准开发的,工作非常稳定,性能也不差, 所...
  • weiyuefei
  • weiyuefei
  • 2016年09月20日 16:25
  • 1645

pthread_kill 使用方法

pthread_kill 可以用来在多线程之间发送消息,
  • vah101
  • vah101
  • 2014年10月23日 11:01
  • 9629

Linux线程-pthread_kill

该函数可以用于向指定的线程发送信号:    int pthread_kill(pthread_t threadId,int signal);     如果线程内不对信号进行处理,则调用默认的处理程...
  • zmxiangde_88
  • zmxiangde_88
  • 2012年09月19日 22:26
  • 20515

linux线程通信:sigwait和pthread_kill

1、函数介绍 1.1  sigwait       sigwait的含义就如同它的字面意思:等待某个信号的到来。如果调用该函数的线程没有等到它想等待的信号那么该线程就休眠。       要达到等到一个...
  • hongwazi_2010
  • hongwazi_2010
  • 2013年06月22日 23:26
  • 1613

pthread_kill和pthread_cancel

pthread_kill和pthread_cancel 为了讲述标题两个函数,必须先介绍一下pthread线程库。 pthread线程库是遵循POSIX标准开发的,工作非常稳定,性能也不差, 所...
  • Kaiwii
  • Kaiwii
  • 2012年07月05日 16:05
  • 21037

线程的信号pthread_kill()函数(线程四)

一:线程信号相关函数 1.pthread_kill()函数 该函数其实不是kill线程,而是向线程发送一个signal(线程所有函数中最名不符其实的函数吧。。。) 成功返回0,失败返回失败码...
  • littesss
  • littesss
  • 2017年05月03日 23:59
  • 383

Linux多线程学习(九)pthread_kill

int pthread_kill(thread_t tid, int sig) 将信号sig发送到由tid指定的线程,tid所指定的线程必须与调用线程在同一个进程中。如果sig为零,将执行错误检查,...
  • xiaoyeyopulei
  • xiaoyeyopulei
  • 2012年09月11日 12:52
  • 3185

linux中使用pthread_kill函数测试线程是否存活

pthread_kill:别被名字吓到,pthread_kill可不是kill,而是向线程发送signal。还记得signal吗,大部分signal的默认动作是终止进程的运行,所以,我们才要用sign...
  • echoisland
  • echoisland
  • 2011年05月05日 20:18
  • 17333

使用pthread_cancel终止线程的填坑历程

开头说明一句:使用pthread_cancel是一个丧心病狂的想法。首先是常识pthread_cancel(thread)会发送终止信号给thread线程,如果成功则返回0,否则为非0值。发送成功并不...
  • cry1994
  • cry1994
  • 2016年12月06日 10:09
  • 2812

Android NDK使用之--用pthread实现多线程

Android系统本身包括Java和Linux内核;因此在Android应用中实现多线程就可以是基于Java上的和基于Linux上的;今天本文介绍的就是Android利用Linux下的pthread来...
  • jike0901xuye
  • jike0901xuye
  • 2015年12月16日 21:23
  • 1775
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:pthread_cancel 和pthread_kill的区别
举报原因:
原因补充:

(最多只允许输入30个字)