如何等待变量?

我如何等待变量在线程中更改? 例如,我想等待一个数字改变。 所以,而不是使用Sleep()还有什么?

while SomeVariable > 0 do
Sleep(1);

如果你想在事情发生变化时得到通知,一点封装可以成为你的朋友。

如果SomeVariable是一个变量而不是属性, SomeVariable其声明更改为const 。 这将打破写入它的所有代码。 这是好事; 编译器会为您找到它,而不是您必须搜索它。 然后创建一个名为SetSomeVariable的过程( SetSomeVariable保留它为空),然后更改破碎的代码来调用它。 当所有东西都会编译时,将SomeVariable改回一个变量,实现setter例程,如果可能的话,封装SomeVariable所以没有调用新函数就不能直接设置它的值。 (如果它是一个属性,你可以通过声明一个setter来简单地做到这一点。)

一旦你有一个函数来设置它的值,你可以在这个过程中引入新的效果,比如让它设置一个TSimpleEvent的信号。 (或者,如果你想变得更加复杂,如果新值<>旧值,就让它设置信号。)

不要睡觉,让你的代码WaitFor事件。 记得在之后重置它!

链接地址: http://www.djcxy.com/p/92151.html

上一篇: How to wait for variable?

下一篇: difference between wait() and yield()