|
|
1
4
Tick事件总是在同一个线程上引发。因为只有一个线程,所以所有的东西都会自动阻塞。 在我看来,VB6中的多线程处理除了 using ActiveX EXE项目:有 various hacks 让多线程工作,但他们听起来肮脏的我,虽然其他人发誓他们。 |
|
|
2
3
如果您使用标准的VB6 winsock控件,您甚至不必担心使用计时器,当建立连接时(是的,在主线程上)会触发事件。对于“锁”,您必须非常小心的唯一一件事是,如果您的代码中有DoEvents,那么您可能会陷入一种糟糕的情况,因为这会导致消息循环,并且您可以在调用DoEvents的函数中间运行其他函数的代码。如果您需要DoEvents来保持程序的“响应性”,那么您可以使用简单的布尔作为锁,因为VB6不是多线程的。MarkJ是正确的,为了使VB6在不使用activexe项目的情况下成为多线程的,您必须走很远的路,做一些非常粗略的事情。 |