Windows和POSIX中都提供了自旋锁,我们也可以通过C++11的atomic来实现自旋锁。那么两者性能上面是什么关系?先引入实现代码: 下面给出一个简单测试,两组线程,一组用来插入,另外一组用来取出。测试结果显示: (1)无论是Windows,还是POSIX提供的C语言版本的自旋锁,都和C++ ...
第十一章线程 11.3线程标识 每个线程也有一个线程ID,线程ID只有在它所属的进程上下文中才有意义。 /* 比较两个线程ID,相等返回非0数值,否则返回0*/ #include<pthread.h> int pthread_equal(pthread_t tid1, pthread_t tid2) ...
分类:
编程语言 时间:
2018-04-15 21:05:46
阅读次数:
261
关于3.2.5版本分析,详见《GlusterFS之内存池(mem-pool)实现原理及代码详解》 此4.0.1版本内存池与版本3中的描述变化有点大,总的原理还是类似LINUX中的SLAB算法,定义一系列大小类型的池子, 1. 一共定义了15个池,每个池子大小都是依次幂级数增长的 结构体 mem_po ...
分类:
其他好文 时间:
2018-04-15 21:04:37
阅读次数:
271
编译makefile的时候到make编译连接阶段总是提示,无法打开某某库或者某某库的格式不对(1 先看看32位,64位是否对应:BITS,cflags lflags....,2 是否将.OS .a等依赖库的目录导入变量LIBS) 然后看看是不是没有对应位数的编译工具, 需要安装 gcc-multil ...
分类:
系统相关 时间:
2018-04-15 20:58:05
阅读次数:
2457
1. 作用: 显示瞬间行程 (process) 的动态 2. 参数: -A 显示所有进程(等价于-e)(utility) -a 显示一个终端的所有进程,除了会话引线 -N 忽略选择。 -d 显示所有进程,但省略所有的会话引线(utility) -x 显示没有控制终端的进程,同时显示各个命令的具体路径 ...
分类:
其他好文 时间:
2018-04-07 20:00:56
阅读次数:
198
g++ -o test domything.cpp -lpthread ...
分类:
系统相关 时间:
2018-04-01 21:50:38
阅读次数:
201
NSOperationQueue 控制串行执行、并发执行 NSOperationQueue 创建的自定义队列同时具有串行、并发功能 这里有个关键属性 maxConcurrentOperationCount,叫做最大并发操作数。用来控制一个特定队列中可以有多少个操作同时参与并发执行。 最大并发操作数: ...
分类:
其他好文 时间:
2018-04-01 10:39:01
阅读次数:
206
今天在写线程测试程序(pthread_create)时出现如下问题, 明明在头文件中包含了<pthread.h>,但是仍然提示找不到函数 pthread_create 和 pthread_join,查资料得知, pthread不是linux下的默认库,也就是在链接的时候,无法找到pthread库文件 ...
分类:
其他好文 时间:
2018-03-21 15:06:08
阅读次数:
124
pThreads线程(一) 基本API 1.创建线程 int pthread_create(pthread_t *restrict_ptid, const pthread_attr_t *restrict_attr, void *(*start_routine)(void*), void *rest ...
分类:
编程语言 时间:
2018-03-21 15:05:10
阅读次数:
147
今天才发现C++11原来支持原子操作,还支持thread类创建线程,真的是越来越6了。之前做项目的时候创建线程都是用POSIX标准的pthread_create函数,然后线程同步一般用的都是pthread_mutex。今天又get了一个新技能,可以用thread类来创建线程,用atomic_flag ...
分类:
编程语言 时间:
2018-03-17 16:51:49
阅读次数:
231