线程的状态以及状态之间的转换
就绪:进程已处于准备好运行的状态,即进程已分配到除CPU外的所有必要资源后,只要再获得CPU,便可立即执行。
执行:进程已经获得CPU,程序正在执行状态。
阻塞:正在执行的进程由于发生某事件(如I/O请求、申请缓冲区失败等)暂时无法继续执行的状态。
进程间的通信方式
管道,用于具有亲缘关系的父子进程间的通信
命名管道,除了具有管道所具有的功能外,它还允许无亲缘关系进程间的通信;
信号,一种比较复杂的通信方式,用于通知接收进程某个事件已经发生;
消息队列,消息队列是消息的链接表,具有写权限得进程可以按照一定得规则向消息队列中添加新信息;对消息队列有读权限得进程则可以从消息队列中读取信息
共享内存,可以说这是最有用的进程间通信方式。它使得多个进程可以访问同一块内存空间,不同进程可以及时看到对方进程中对共享内存中数据得更新。这种方式需要依靠某种同步操作,如互斥锁和信号量等;
信号量,进程之间及同一种进程的不同线程之间得同步和互斥手段;
套接字,它可用于网络中不同机器之间的进程间通信,应用非常广泛。
线程和进程区别
进程是资源分配的最小单位,线程是CPU调度的最小单位;
进程有自己的独立地址空间,线程没有;
一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程;
进程和线程通信方式不同&