gpt4 book ai didi

multithreading - 在多线程VB6中使用互斥锁

转载 作者:行者123 更新时间:2023-12-03 11:56:32 25 4
gpt4 key购买 nike

我正在更新用VB6编写的旧代码,并且遇到了互斥的需求。我有两个套接字,我需要从各种来源发送和接收消息。因此,我计划让一个套接字持续监听传入的连接,然后使用另一个套接字进行发送或接收。

计时器每秒检查二十次是否已建立连接,如果是,则使用第二个套接字接受它,然后立即开始再次监听。如果第二个连接在第一个连接完成接收数据之前进入,则需要等待(在C#中,我将其锁定并调用完成)。

另外,如果程序需要发送数据,我将使用第二个套接字,然后连接到远程主机。因此,如果第二个套接字已经在接收数据,它也需要阻塞。

我对VB6中的多线程不熟悉-这是一个问题,还是计时器的Tick事件总是在与其他所有线程相同的线程上引发?

最佳答案

Tick事件始终在同一单线程上引发。因为只有一个线程,所以一切都会自动阻塞。

在我看来,除了ActiveT EXE项目using之外,VB6中的多线程并没有真正起作用:有various hacks可以使多线程工作,但是它们对我来说是犯规的,尽管其他人对此也发誓。

关于multithreading - 在多线程VB6中使用互斥锁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3292402/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com