我继承了TThread,自己定义了一个线程类,其中我希望有一段延时功能,
于是我用了sleep(50);但后来我在创建这个类的几个对象时发现,当其中
一个对象执行sleep语句时,会影响到其他的对象执行。
即我希望实现一段延时功能,但对象之间的延时互不干饶,我当然不希望用
类似执行空的for语句来实现,请问有何方法?
于是我用了sleep(50);但后来我在创建这个类的几个对象时发现,当其中
一个对象执行sleep语句时,会影响到其他的对象执行。
即我希望实现一段延时功能,但对象之间的延时互不干饶,我当然不希望用
类似执行空的for语句来实现,请问有何方法?
我怀疑是你代码具体处理的问题..
另外,有一种情况,关于SLEEP,当处理COM的Apartment线程模式时候,
因为它是使用了WINDOWS消息,这时候使用sleep会造成同一个线程里面
多个Apartment之间阻塞..
如果仅仅将它放在线程类的方法中而不让Execute去调用的,是不行的
如果你需要得到某一个线程的返回值,不应该用延时,应该通过执行Thread.WaitFor()得到ReturnValue或自定义的返回成员,而且必须由你释放线程,而不是自动释放。