java在线程获取之前调用release
我正在编写一个多线程的小程序,我正在使用信号量强制执行互斥。但一个问题触动了我的头脑
如果在Semaphore.acquire
之前调用Semaphore.release
,会发生什么情况
我的很好用。这是一种不好的做法还是可以的做法
你可以在下面搜索框中键入要查询的问题!
我正在编写一个多线程的小程序,我正在使用信号量强制执行互斥。但一个问题触动了我的头脑
如果在Semaphore.acquire
之前调用Semaphore.release
,会发生什么情况
我的很好用。这是一种不好的做法还是可以的做法
# 1 楼答案
我想你说的是监视器原理。这用于在访问内存中的数据时避免死锁,这些数据由多个线程或进程共享
如果这样做,请告知自己Java中的同步块。这确保了没有其他线程可以与在其方法体中持有同步块的线程同时访问该对象。如果其他线程希望在同步块中访问此数据,则其他线程必须等待当前工作线程在相关对象/数据上离开此状态