
Linux
snail_running
做最真实的自己!
展开
-
解决undefined reference to 'pthread_create'问题
问题分析: pthread 在链接时需要使用静态库 libpthread.a,因为它不是系统默认的库。 问题解决: 我们需要在编译中要加 -lpthread参数: #include gcc thread.c -o thread -lpthread g++ thread.cpp -o thread -lphread原创 2016-01-19 00:25:18 · 548 阅读 · 0 评论 -
多线程下变量-原子操作 sync_fetch_and_add等等
最近编码需要实现多线程环境下的计数器操作,统计相关事件的次数。下面是一些学习心得和体会。不敢妄称原创,基本是学习笔记。遇到相关的引用,我会致谢。 当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的: 1 从缓存取到寄存器 2 在寄存器加1 3 存入缓存。 由于时序的因素,多个线程操作同一个全局变量,会出现问题。转载 2016-01-19 00:27:33 · 326 阅读 · 0 评论