
多线程编程
中下游国外我
这个作者很懒,什么都没留下…
展开
-
pthread多线程编程-1
定义:线程包含了表示进程内执行环境必须的信息,其中包含进程中标识线程的:线程ID,一组寄存器值,栈,调度优先级和策略,信号屏蔽字,errno变量以及线程私有数据。进程的所有信息对该进程的所有线程都是共享的,包括可执行的程序文本,程序的全局变量和堆内存,栈以及文件描述符。1、线程状态joinable:当线程退出时,它不会释放其所占用的堆栈和线程描述符,只有当父线程通过调用pt原创 2013-10-31 22:52:14 · 1067 阅读 · 0 评论 -
在linux中查看线程数的三种方法
http://www.2cto.com/os/201212/177103.html在linux中查看线程数的三种方法 在linux中查看线程数的三种方法 www.2cto.com 1、top -H手册中说:-H : Threads toggle加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。转载 2013-11-01 10:42:34 · 4674 阅读 · 1 评论 -
pthread_create() 返回的tid不正确
在父线程调用pthread_create(&tid, NULL, threadFunc, arg);返回的tid特殊情况下和实际子线程的ID不同。在线程中调用pthread_self()得到的线程ID才是最准确的。原创 2013-11-27 22:39:45 · 1811 阅读 · 0 评论 -
pthread_cancel 和pthread_kill的区别
1、int pthread_kill(pthread_t thread, int sig);功能是向指定线程发送信号,信号为0时用于检查此线程ID的线程是否存活。pthread_kill的返回值:成功:0线程不存在:ESRCH信号不合法:EINVAL2、pthread_cancel(pthread_t thread);功能是给线程发送取消信号,使线程从取消点转载 2013-12-06 11:52:25 · 5541 阅读 · 0 评论 -
-D_REENTRANT 宏作用
2._REENTRANT宏在一个多线程程序里,默认情况下,只有一个errno变量供所有的线程共享。在一个线程准备获取刚才的错误代码时,该变量很容易被另一个线程中的函数调用所改变。类似的问题还存在于fputs之类的函数中,这些函数通常用一个单独的全局性区域来缓存输出数据。为解决这个问题,需要使用可重入的例程。可重入代码可以被多次调用而仍然工作正常。编写的多线程程序,通过定义宏_REE转载 2013-12-02 18:26:07 · 720 阅读 · 0 评论 -
atexit()函数
http://www.cnblogs.com/wanghetao/archive/2012/04/03/2431256.html注意:调用 _exit,_Exit 都不会调用终止程序,异常终止也不会。atexit 函数名: atexit 头文件:#include 功 能: 注册终止函数(即main执行结束后调用的函数)转载 2013-12-03 10:48:18 · 824 阅读 · 0 评论