我不明白一些事情。 例如二进制信号量和锁是一样的吗? 当使用锁定和信号量时,或两者兼而有之?
答案 0 :(得分:2)
当有多个进程尝试访问同一资源时,锁和二进制信号量之间的区别很明显。 A"流程"这里定义为可能包含一个或多个线程的程序或应用程序的实例。
两者都只允许一个线程在给定时间访问资源。但是,锁定只能限制单个进程内的访问权限,而二进制信号量可以限制多个进程的访问权限。
因此,在单个进程中,锁和二进制信号量的行为是相同的。两者都只允许一个线程在给定时间访问资源。
跨多个进程,行为不同。二进制信号量一次只允许一个进程访问给定资源,但锁定将允许多个进程一次访问资源(但每个进程中只有一个线程将在给定时间访问)。 / p>