增设红绿灯

增设红绿灯 - 图1

多线程程序很强大,同时它们的行为也不可预测,除非采取一些控制手段。

假设两辆车想要驶过一段羊肠小道。为了防止交通事故,你可以增设红绿灯,它可以防止两辆车同时访问共享资源。

如果想防止两个或多个线程访问共享数据资源,也可以采取相同的方法:增设红绿灯。这样两个线程就不能同时读取相同数据,并把它写回。

增设红绿灯 - 图2