多线程编程
中下游国外我
这个作者很懒,什么都没留下…
展开
-
pthread多线程编程-1
定义: 线程包含了表示进程内执行环境必须的信息,其中包含进程中标识线程的:线程ID,一组寄存器值,栈,调度优先级和策略,信号屏蔽字,errno变量以及线程私有数据。 进程的所有信息对该进程的所有线程都是共享的,包括可执行的程序文本,程序的全局变量和堆内存,栈以及文件描述符。 1、线程状态 joinable:当线程退出时,它不会释放其所占用的堆栈和线程描述符,只有当父线程通过调用pt原创 2013-10-31 22:52:14 · 1043 阅读 · 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 · 4645 阅读 · 1 评论 -
pthread_create() 返回的tid不正确
在父线程调用pthread_create(&tid, NULL, threadFunc, arg);返回的tid特殊情况下和实际子线程的ID不同。 在线程中调用pthread_self()得到的线程ID才是最准确的。原创 2013-11-27 22:39:45 · 1762 阅读 · 0 评论 -
pthread_cancel 和pthread_kill的区别
1、int pthread_kill(pthread_t thread, int sig); 功能是向指定线程发送信号,信号为0时用于检查此线程ID的线程是否存活。 pthread_kill的返回值: 成功:0 线程不存在:ESRCH 信号不合法:EINVAL 2、pthread_cancel(pthread_t thread); 功能是给线程发送取消信号,使线程从取消点转载 2013-12-06 11:52:25 · 5495 阅读 · 0 评论 -
-D_REENTRANT 宏作用
2._REENTRANT宏 在一个多线程程序里,默认情况下,只有一个errno变量供所有的线程共享。在一个线程准备获取刚才的错误代码时,该变量很容易被另一个线程中的函数调用所改变。类似的问题还存在于fputs之类的函数中,这些函数通常用一个单独的全局性区域来缓存输出数据。 为解决这个问题,需要使用可重入的例程。可重入代码可以被多次调用而仍然工作正常。编写的多线程程序,通过定义宏_REE转载 2013-12-02 18:26:07 · 699 阅读 · 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 · 807 阅读 · 0 评论