调用TCriticalSection.Enter发生访问错误?????????(100分)

  • 主题发起人 主题发起人 zhjwjan
  • 开始时间 开始时间
Z

zhjwjan

Unregistered / Unconfirmed
GUEST, unregistred user!
我使用Asta的AstaServerSocket写了一个服务器程序,AstaServerSocket里有一个TUsers类,
实际上是继承自TList,对TUsers的访问和修改都使用了TCriticalSection。我的服务器刚开始
运行时一切正常,连续运行几天后,突然发生访问异常,是在调用TCriticalSection.Enter时发生
的,这是我对TUsers进行访问时调用的。我自己的程序中共有4处调用TUsers.Lock,发生异常后
有2初调用发生访问异常,另外2处正常。我查了n遍自己的代码,没能发现什么可疑地方,为什么
会在Criticalsection.enter时发生异常,且并不是所有调用都发生??????有谁遇到过这个问题
吗?或者有高手可疑帮我分析下出现这种情况的原因?
 
帮帮忙看看好吗?
 
Lock不在于有多少处调用,而在于实际运行中调用的多少次,如果没有相应的离开(释放)
次数,就锁上了。
 
我是正确的使用了lock的。
 
Lock不在于多少处调用,而在于不同线程中调用时会查看是否会其它线程Lock过,没有Lock,
有则Wait.
 
后退
顶部