常见多线程与并发服务器设计方案举例分类:muduo网络库2013-11-04 21:25930人阅读评论(0)收藏举报并发服务器多线程reactorthreadpool一、3点基础知识1、一个主机的端口号为所有进程所共享,但普通用户进程绑定bind不了一些特殊端口号如20、80等。 多个进程不能同....
分类:
编程语言 时间:
2014-07-16 20:41:58
阅读次数:
216
本文由该问题引入到内核锁的讨论,归纳例如以下为什么须要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是能够訪问全部内核数据的,因此要对共享数据进行保护,即相互排斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v...
分类:
其他好文 时间:
2014-07-13 23:31:28
阅读次数:
269
竞争条件
两个或多个进程读写某些共享数据,而最后的结果取决于进程运行的精确时序,称为竞争条件。凡涉及到资源的共享时就容易发生这样的事情。解决的办法是设立临界区,让进程互斥地访问共享资源。一个好的避免竞争条件的方案,必须满足4个条件:
任何两个进程不能同时处于临界区。不应对CPU的速度和数量做任何假设。临界区外运行的进程不得阻塞其它进程。不得让进程无限期等待进入临界区。
忙...
分类:
其他好文 时间:
2014-07-13 15:52:18
阅读次数:
256
进程是一个正在执行程序的实例,它包括程序计数器、寄存器和变量的当前值。在单CPU的环境下,进程交替运行,CPU在多个进程间快速切换,让人感觉多个进程在同时执行,但同一时刻只有一个进程在运行,这就是所谓的伪并行。
创建进程
有四种创建进程的方法:
系统初始化:操作系统启动时,会创建一些进程,包括前台进程和后台进程(守护进程)。正在运行的进程执行系统调用:一个进程发出系统调用创建...
分类:
其他好文 时间:
2014-07-10 20:40:48
阅读次数:
249
共享内存是Linux下最快速、最有效的进程间通信方式。是多个进程可以把同一段内存映射到自己的进程空间,以此实现数据的共享与传输。即:对于不同的进程A、B,将同一块物理内存映射到进程A、B各自进程的地址空间,进程A能够及时地看到进程B对共享内存中数据的更新,反之B进程同样能够及时地看到进程A对共享内存中数据的更新。
共享内存存在于内核级别的一种资源,因此是所有进程间通信(IPC)方式中最快的一种。...
分类:
其他好文 时间:
2014-07-08 19:59:08
阅读次数:
189
多进程通信queue和pipe的区别: pipe用来在两个进程间通信。queue用来在多个进程间实现通信。 此两种方法为所有系统多进程通信的基本方法,几乎所有的语言都支持此两种方法。1)Queue & JoinableQueuequeue用来在进程间传递消息,任何可以pickle-able的对象都可...
分类:
编程语言 时间:
2014-07-07 14:49:49
阅读次数:
321
python类库32[多进程同步Lock+Semaphore+Event]同步的方法基本与多线程相同。1) Lock当多个进程需要访问共享资源的时候,Lock可以用来避免访问的冲突。importmultiprocessingimportsysdefworker_with(lock,f):withlo...
分类:
编程语言 时间:
2014-07-07 14:35:20
阅读次数:
195
一、程序,进程,线程程序是指令的集合,以文件形式储存在磁盘上。一个程序可以对应多个进程,一个进程代表一个实例。进程由管理进程的内核对象、地址空间组成。内核对象存放关于进程的统计信息,地址空间包含可执行模块、DLL模块和堆、栈。进程不执行任何东西,它是线程的容器,每个进程至少有一个线程。当创建一个进程...
分类:
编程语言 时间:
2014-07-06 17:56:56
阅读次数:
212
本文由该问题引入到内核锁的讨论,归纳例如以下为什么须要内核锁?多核处理器下,会存在多个进程处于内核态的情况,而在内核态下,进程是能够訪问全部内核数据的,因此要对共享数据进行保护,即相互排斥处理有哪些内核锁机制?(1)原子操作atomic_t数据类型,atomic_inc(atomic_t *v)将v...
分类:
其他好文 时间:
2014-07-05 17:44:12
阅读次数:
155
一.基础知识1.什么是线程?什么是进程?它们之间的关系?可以参考之前的一篇文章:java核心知识点学习----并发和并行的区别,进程和线程的区别,如何创建线程和线程的四种状态,什么是线程计时器简单说一个进程可以由多个线程组成,一个操作系统可以多个进程,它们都是可以同时进行工作的.2.什么是下载?如何...
分类:
数据库 时间:
2014-07-03 13:01:00
阅读次数:
241