多线程
文章平均质量分 70
无敌大饺子
这个作者很懒,什么都没留下…
展开
-
sleep/usleep和多线程锁的注意事项
最近在写一个OJ后台程序,一个主线程隔500毫秒读取一次数据库把任务放入队列中,起了4个线程用于处理任务(主要是得到任务,然后去数据库里读提交上来的代码). 主线程 while(true){ pthrea_lock_mutex(&conn_mutex);//数据库连接的mutex //..读数据库..把任务放入队列中.. usleep(500000); pthread_unlock_mutex原创 2013-08-10 15:01:17 · 4565 阅读 · 1 评论 -
多线程false sharing带来的影响和一些优化.
最近在线项目中测试一个无锁队列的性能的时候发现,在一个线程push另一个线程pop整型数据的时候,吞吐量竟然和std::queue+spinlock类似甚至更差,这样完全体现不出lockfree的优势, 决定找找原因. 这个无锁队列是通过一个头指针来push数据,一个尾指针来pop数据来实现的.template<typename T> class LockFreeQueue { struc原创 2015-09-09 22:08:15 · 1069 阅读 · 0 评论