linux下是这样定义的:在linux的实现中pthread_t被定义为 "unsigned long int",參考这里Windows下这样定义: /* * Generic handle type - intended to extend uniqueness beyond ...
分类:
其他好文 时间:
2014-07-08 00:46:18
阅读次数:
279
大家好,本人被下面这个问题困扰了一段时间,最近似乎找到了答案。这里和大家分享一下,可能对有相同困惑的同学有点帮助,同时也请各位帮忙看看错漏的地方。1================问题:在使用pthread库创建两个线程时clone()被调用了两次,可以用strace 看到:intmain(){.....
分类:
编程语言 时间:
2014-07-07 15:08:35
阅读次数:
209
使用的基本模板如下(参考APUE):signal代码序列如下,pthread_mutex_lock...pthread_cond_signalpthread_mutex_unlockwait代码序列如下,while (1){ pthread_mutex_lock(&mutex); ...
分类:
其他好文 时间:
2014-07-07 12:16:56
阅读次数:
236
一、互斥量互斥量从本质上说是一把锁,在访问共享资源前对互斥量进行加锁,在访问完成后释放互斥量上的锁。互斥量用pthread_mutex_t数据类型表示,在使用互斥变量以前,必须首先对它进行初始化。可以把它设置为常量PTHREAD_MUTEX_INITIALIZER(只对静态分配的互斥量),也可以通过...
分类:
编程语言 时间:
2014-07-07 08:20:59
阅读次数:
222
函数简介函数pthread_join用来等待一个线程的结束。函数原型为:extern int pthread_join (pthread_t__th, void **__thread_return);第一个参数为被等待的线程标识符,第二个参数为一个用户定义的指针,它可以用来存储被等待线程的返回值。这...
分类:
其他好文 时间:
2014-07-01 23:16:49
阅读次数:
336
1. detach , join的问题detach表示线程结束后由系统自动回收。主进程不再管。join表示主进程一直等待直到线程结束。一个线程必须pthread_join或者pthread_detach,否则内存泄露。如果想创建一个不需要管的线程,pthread_attr_setdetachstat...
分类:
其他好文 时间:
2014-07-01 19:59:04
阅读次数:
282
对我来说,我最吃惊居然把对于多线程的支持加到标准中了。真的想不明白,对于c++这样一种语言,怎么会加进这个东西。
1. 因为各个平台的不同,对于多线程的支持会有许多平台独有的特色,这样c++标准的定义必然会受到很大限制。
2. 各个平台对于多线程的支持已经形成了各自的标准,比如pthread,或是windows上的标准api,现在去推c++的多线程标准,有意义吗?是不是太晚了?
...
分类:
编程语言 时间:
2014-07-01 15:40:24
阅读次数:
214
本文分析的是llvm libc++的实现:http://libcxx.llvm.org/
class thread
thread类直接包装了一个pthread_t,在linux下实际是unsigned long int。
class thread
{
pthread_t __t_; id get_id() const _NOEXCEPT {return __t_;}
}
...
分类:
编程语言 时间:
2014-06-30 19:29:24
阅读次数:
257
最近在看《Unix环境高级编程》一书,我一直对网络编程有兴趣,所以就直接跳到了网络套接字这一章。这一章中有一个示例程序:一个TCP客户端向服务器发送连接请求,服务器在接受请求后,调用uptime命令并将结果返回给客户端,客户端再将其打印出来。 因为前面刚看过线程那一章,所以我想把服务器改造成多...
分类:
其他好文 时间:
2014-06-30 11:34:19
阅读次数:
216
http://blog.csdn.net/leisure512/article/details/4881391由于学习多线程编程,所以用到pthread,但是man的时候却发现没有pthread函数库的手册页,然后安装$sudo apt-get install glibc-doc 安装以后,发现还是...
分类:
其他好文 时间:
2014-06-27 16:43:35
阅读次数:
160