当一个对象作为一个公共函数使用互斥锁(监视器函数、临界区等)时,问题就出现了,当这个对象被删除时,它可能仍有线程在等待互斥锁。互斥体在被其他线程锁定时删除了未定义的行为,因此问题就出现了。或者,如果这被认为是一种糟糕的编码风格,一种避免这种设计的方法,即)不要删除其互斥锁方法仍在等待的对象。//a public method that uses mut
预期的行为是,当线程试图获得现有互斥锁时,当调用"WaitForSingleObject“函数时,该线程会阻塞,直到发出信号为止。我正在经历的是整个应用程序被冻结。Form_Unload(Cancel As Integer) Set c(1) = NothingEnd Sub
前两个命令按钮锁定各自的互斥对象注意,在锁定互斥锁之前,将显示一个唯一的线程id。这让我相信只有这个线程应该阻止,而不是冻结整个应用
".laccdb“或".ldb”文件用于确定哪些记录被锁在共享数据库中以及由谁锁定。
在determine which records are locked中 lock 一词是什么意思?换句话说--记录何时被锁定?例如:假设锁文件指示记录10已被锁定,那么它是否意味着其他人正在读取该特定记录或写入该特定记录或两者兼而有之?