首页 › 分类存档 › 线程间通信

Linux下面实现C++向对象多线程

继续阅读 »

一个简单的linux线程池

线程池:简单地说,线程池 就是预先创建好一批线程,方便、快速地处理收到的业务。比起传统的到来一个任务,即时创建一个线程来处理,节省了线程的创建和回收的开销,响应更快,效率更高。
继续阅读 »

网络服务端开发小结(短连接、长连接、进程池、线程池)

平时对网络编程方面比较感兴趣,看了一些相关的资料,自己也尝试写过一些不同网络模型的服务程序。这次刚好有一个新的需求,需要开发一个转发服务器。之前开发的项目,网络通讯都是处理联机交易的,网络连接都是采用短连接,这次的服务端,采用长连接的方式。
继续阅读 »

GDB调试信号、多线程、多进程

GDB的功能很强大,本文主要介绍用GDB来调试信号、多进程、多线程,具体如下:

(一)信号

GDB有能力在你调试程序的时候处理任何一种信号,你可以告诉GDB需要处理哪一种信号。你可以要求GDB收到你所指定的信号时,马上停住正在运行的程序,以供你进行调试。你可以用GDB的handle命令来完成这一功能。
继续阅读 »

pthread线程的终止退出 | 线程的大量创建

线程终止的三种方式:

1. 线程只是从启动例程中返回,返回值是线程的退出码;

2. 线程调用了pthread_exit函数;

3. 线程可以北同一进程中的其他线程取消。
继续阅读 »

pthread_cond

条件变量 pthread_cond, 另外一种线程间的同步机制。普通的 mutex 只允许一个线程进入临界区,就是拿到mutex这把锁的线程,而cond 允许多个线程同时进入临界区,由它来控制,在某些条件成立的时候,来唤醒其中一个等待着的线程,或者是唤醒所有等待着的线程。
继续阅读 »

一点关于pthread_cond_t条件锁的思考以及实验

APUE上,关于条件锁。其中有这么几条总结:

1。使用条件锁前必须先锁住对应的互斥锁。

2。条件锁进入阻塞(pthread_cond_wait)时自动解开对应互斥锁,而一旦跳出阻塞立即再次取得互斥锁,而这两个操作都是原子操作。
继续阅读 »