banq
2002-12-30 21:15
A虽然是线程安全

但是saveToDb1中不只是A.write(val)一个方法,要其他动作,

如果其他动作没有写同一个资源的操作,saveToDb1就不必是同步的。

这实际是个单线程模式,只允许某个时刻只有一个线程操作某个资源,同时还要防止死锁。死锁是A线程占据1号资源,等待B线程释放2号资源,而B线程正占据2号资源,等待A线程释放1号资源,这就死锁了,这时也需要同步。有写动作需要同步,如果有资源占据容易发生死锁也要同步,后者很难判断,可以使用Borland公司Optimizeit可以动态发现死锁。

jxb8901
2002-12-31 09:43
多谢banq!!!

看来我对"同步"以及"资源"的理解太狭隘了...

猜你喜欢