
多线程
文章平均质量分 76
nanjunxiao
这个作者很懒,什么都没留下…
展开
-
多线程-生成新循环线程的类实现
该类生成一个新线程,且新线程例程循环执行, 回调函数由用户实现,通过SetRutine注册 调用关系:RuntineThreadFunc->LoopRutine->用户CallbackFunc #ifndef _LOOPTHREAD_H_ #define _LOOPTHREAD_H_ #include #include /*Readme: * 该类生成一个新线程,且新线程例程原创 2013-05-24 23:04:01 · 1014 阅读 · 0 评论 -
线程安全的singleton
#ifndef _SINGLETON_H_ #define _SINGLETON_H_ #include "MultiThread.h" class singleton { public: ~singleton() { } static singleton* getInstance() { MutexLockGuard lock(mute原创 2013-05-25 22:26:00 · 1637 阅读 · 0 评论 -
多线程mutex locker condition简单封装
#ifndef _MULTITHREAD_H_ #define _MULTITHREAD_H_ #include #include #include class MutexLock { public: MutexLock():holder_(0) { int iret = pthread_mutex_init(&mutex_,NULL);原创 2013-05-22 23:06:42 · 2065 阅读 · 1 评论 -
多线程编程基础(线程创建)
转载自:http://blog.youkuaiyun.com/bertzhang/article/details/7219060 1、多线程的创建 线程的创建比较简单,先举一个例子热热身: [cpp] view plaincopy #include #include void* Handler(void* param) {转载 2013-05-24 23:55:27 · 780 阅读 · 0 评论 -
CAS lockfree 循环队列
在写网络爬虫时涉及到多线程并行处理URL的问题, 开始打算给相关数据加锁来解决该问题, 之后考虑到锁是会影响性能的, 虽然处理URL的那部分不是这种小型爬虫的瓶颈所在(网速才 是最大的瓶颈啊), 但能更快一点岂不更好? 所以就想使用无锁技术. 通过查阅资料, 参考陈皓老师的无锁队列的实现 和淘宝搜索技术博客的一种高效无锁内存队列的实现, 使用CAS(compare and swap, 比转载 2013-05-25 11:10:52 · 3339 阅读 · 0 评论 -
pthread_cond_wait用法浅析
条件变量是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待"条件变量的条件成立"而挂起--消费者;另一个线程使"条件成立"(给出条件成立信号)--生产者。为了防止竞争,条件变量的使用总是和一个互斥锁结合在一起。 1. 创建和注销 条件变量和互斥锁一样,都有静态动态两种创建方式,静态方式使用PTHREAD_COND_INITIALIZER常量,如下:原创 2013-05-21 22:18:43 · 3038 阅读 · 0 评论 -
linux pin mutex锁
转载自: http://blog.youkuaiyun.com/hjffly/article/details/6969975 锁机制是多线程编程中最常用的同步机制,用来对多线程间共享的临界区进行保护。 1. 互斥锁:pthread_mutex,属于sleep-waiting类型的锁 pthread_mutex_t *mutex; int pthread_mutex_int(mutex,转载 2012-12-11 09:56:23 · 821 阅读 · 0 评论 -
多线程内存池实现代码-双链表
一下代码为一个简单的多线程内存池实现,内存池block块大小固定,采用双链表实现block申请、释放管理。 比较简单,参考注释和readme基本可以看懂,不多介绍了。 #ifndef _MEMPOOL_H_ #define _MEMPOOL_H_ /*Readme: * 1.内存池为多个相同大小的内存block集合,block大小和个数在初始化是设定。 * 2.用两个链表管理内存池的b原创 2013-05-24 16:19:03 · 4156 阅读 · 0 评论