随笔分类 -  Linux

摘要:鉴于TCP之简单回传(一) 中所出现的问题,本博文所要采取的一种方法是:客户端:先向服务器传送一个 int32_t 大小的数据,表示随后所要发送数据的真实长度; 服务器:先接收一个int32_t 大小的数据,再接收真实的数据;本程序中所用到的函数都可以在 TCP之函数封装中找到;server服务器端... 阅读全文
posted @ 2014-10-15 22:04 Stephen_Hsu 阅读(369) 评论(0) 推荐(0) 编辑
摘要:生产者,消费者问题是有关互斥锁(MutexLock)、条件变量(Condition)、线程(Thread)的经典案例;描述的问题可以叙述为 生产者往buffer中投放产品,而消费者则从buffer中消费产品。生产着消费者问题的难点在于:为了缓冲区数据的安全性,一次只允许一个线程进入缓冲区投放或者消费... 阅读全文
posted @ 2014-10-08 01:40 Stephen_Hsu 阅读(541) 评论(0) 推荐(0) 编辑
摘要:在实现线程的过程中,我们经常会写类似于这样的代码:{ mutex_.lock(); //XXX if(...) 语句; //XXX mutex_.unlock();}虽然这段代码是正常的加锁解锁,但是有时候我们难免会出现一些低级错误,例如把 忘了写... 阅读全文
posted @ 2014-10-08 00:57 Stephen_Hsu 阅读(475) 评论(0) 推荐(0) 编辑
摘要:本篇我们将讨论线程Thread的封装;一、线程类(Thread):注意:1、线程在默认情况下 是 joinable(可结合状态),需要手工调用 join函数(将其回收),也可以将其设置为detachable(分离状态),线程运行完毕后自动消亡;2、Thread类采用static函数作为 pthrea... 阅读全文
posted @ 2014-10-06 21:02 Stephen_Hsu 阅读(1489) 评论(0) 推荐(0) 编辑
摘要:本博文讨论Linux中的条件变量Condition的封装;条件变量Condition 主要描述的是 线程间 的同步,即协作关系。Linux中的条件变量通常涉及以下几个函数:int pthread_cond_init(pthread_cond_t *cond, pthread_condattr_t *... 阅读全文
posted @ 2014-10-06 20:58 Stephen_Hsu 阅读(1131) 评论(0) 推荐(0) 编辑
摘要:本文对pthread_mutex_t 进行简易的封装;互斥锁主要用于互斥,描述的是一种竞争关系,主要是一个 一种资源或者代码, 在一段时间内 至多能被一个程序访问。而条件变量主要用于线程间同步, 描述的是一种协作关系。Linux中互斥锁的应用比较简单,通用的有以下几个函数:1 int pthread... 阅读全文
posted @ 2014-10-06 20:31 Stephen_Hsu 阅读(2714) 评论(1) 推荐(0) 编辑

点击右上角即可分享
微信分享提示