最近在研究 Android 的视图系统,对进程十分感兴趣,想搞清楚 进程同步 和 进程间通信 等问题。
目前手上有一本大学时期的《计算机操作系统》,书中对于 并发执行 和 进程同步 的描述让我十分困扰,
按它的意思,进程同步是为了确保在多个程序在 异步的 并发执行下,也能保证结果的可再现性。
那么这里就有疑问:
进程不是独立的吗?独立的话,其内部的数据,都是该进程自己的地址空间,怎么可能会受别的进程的影响呢?既然不受,那么又怎么谈的上结果的不可再现呢(又没别的进程来改它的变量)。
所以进程同步是解决另一种情况:对于多个进程相互合作的情况,确保各自能按顺序执行,如果前趋进程没有完成,后续的就先阻塞着,所以同步是为了解决这个?
(之所以这样提问,是因为后面的 信号量、管道等机制,没看懂那伪代码是想做什么、到底为了解决什么,因为如果是为了锁变量、锁资源,那和相互合作的情况不又自相矛盾?)
很困扰,
所以想问问万能的 v 友,看看有没有推荐的 操作系统书籍
