- 博客(3)
- 收藏
- 关注
原创 线程安全的单例模式
pthread版本使用模板templateclass Singleton : boost::noncopyable{ public: static T& instance() { pthread_once(&ponce_, &Singleton::init); return *value_; } private: Singleton(); ~S
2017-07-26 19:20:16 328
原创 什么是spurious wakeups(虚假唤醒)
查阅了很多资料,发现网上说的很多关于Spurious wakeups 的描述都是错误的。第一次遇到Spurious wakeups是在使用条件变量时,wait端需要使用while来等待条件变量二不能使用if语句。如:// wait端pthread_mutex_lock(mtx);while(pass == 0) pthread_cond_wai
2017-07-26 18:17:32 8522 2
转载 打洞原理及应用
什么是打洞?在传统的集中式网络中,都是一台服务器(集群)对外提供服务,所有客户端都依赖中央服务器进行与服务端的通信或者其他客户端的通信。如图 这样的通信方式,一个数据包从一个客户端发送到另一个客户端都要在服务端中进行中转,服务端承受的压力非常大,很容易因为线程问题而当机。 于是提出另一种通信方式:P2P通信(peer to peer) 对等通信。 即:在p2p的网络中,所有网
2017-07-25 18:32:47 14541 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人