首先进程的出现就是由于程序在遇到要跳转执行其他程序而导致寄存器被污染而形成程序执行状态的不可再现性。
进程的出现使得程序交替执行成为可能,这就是所谓的并发, 并行就是在多个逻辑处理单元中同一时刻执行。
有时候也不要过于盲目的使用多进程或者多线程来实现并发,尤其在服务器编程的时候,因为如果程序是计算密集型的话,过多的上下文切换陷入内核会导致cpu忙于进行上下文切换而没有做一些我们认为有用的事,使得效率降低。但是如果是IO密集型 像web服务器,由于硬件的限制,IO操作的速度远远没有CPU快,所以会导致CPU在那里空等,所以此时就要当前的进程让出CPU给其他进程执行,这样CPU就可以做一些我们认为有意义的事情,虽然有上下文切换的开销,但是总比在哪里什么也不干来的效率高吧!
常见的并行编程 有多进程 和多线程
一般来说并发模式就是一个IO处理单元和多个逻辑处理单元协调完成任务的方法
所以出现了两种并发模式:
半同步 /半异步
这里的同步是程序的执行按照代码的顺序执行(我自己称作主动做事情)