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

关于pthread_cancel的问题

    来源: 互联网  发布时间:2016-10-25

    本文导语:  代码如下 #include     #include     #include     #include     #include     pthread_mutex_t   mutex=PTHREAD_MUTEX_INITIALIZER;  void   *search(void   *arg)  {  int   d=0;  for(;;)  { printf( "d=%dn ",d++);  } printf( "OKn ");  }  ...

代码如下
#include    
#include    
#include    
#include    
#include    

pthread_mutex_t   mutex=PTHREAD_MUTEX_INITIALIZER; 

void   *search(void   *arg) 

int   d=0; 
for(;;) 
{
printf( "d=%dn ",d++); 
}
printf( "OKn "); 

int main (void) 

pthread_t   tid; 
pthread_create(&tid,NULL,search,NULL); 
pthread_cancel(tid); 
printf( "the   main   endn "); 
pthread_join(tid,NULL); 
printf( "the   cancel   prom   is   overn "); 
return 0;
}

我的问题是
1. 程序编译运行后每次输出结果都不一样,导致这个不一样的原因是什么

2. 如果将search函数中的printf取消后程序会一直运行下去(至少我不知道程序什么时候会停,而有printf时大概输出到1000多时会停止,至于具体值未知),是不是说明printf存在取消点不

另外还请高人解释下哪些情况会存在取消点啊

谢谢

|
程序编译运行后每次输出结果都不一样,导致这个不一样的原因是什么

这个是因为取消点从哪里取消是任意的

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • pthread_cancel()返回值为3,是什么原因?
  • 先pthread_cancel()再pthread_join(),主线程退出?
  • pthread_cancel和pthread_cond_wait
  • 大家帮忙看看这个pthread_cancel怎么没有起到作用?


  • 站内导航:


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

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

    浙ICP备11055608号-3