我的意思是即使资源是可共享的,如果一个进程持有它,那么另一个进程是否可以使用第一个进程 持有 的资源?
答案 0 :(得分:1)
是,但允许指定的操作或限制操作。
案例1: 如果进程1持有该资源用于w / r / x(写/读/执行),则第二进程只能将其用于读取和执行目的,以便其他拥有者尝试访问该共享区域。
案例2: 如果进程1仅保存该资源的读取目的,则其他进程可以保存w / r / x的共享资源
答案 1 :(得分:0)
示例:资源 - >文件
如果进程打开文件。之后写入此文件。当进程将数据写入文件时,B进程也将数据写入同一文件。 因此,两个进程一次写入同一个文件。因此文件中存在的数据已损坏。因此,我们可以说两个进程(A和B)都持有资源(文件)。所以我们可以使用fcntl函数来锁定文件。在线程中我们可以使用信号量和互斥锁。因此,程序员的责任是锁定资源(文件)。