一个单独的线程创建一个 TidTCPClient 和一个 TTimer。TTimer 设置为 3s,如果 TCPClient 未连接,则调用 TCPClient.Connect。
如果没有要连接的服务器,这将导致每 3 秒尝试连接一次。
主线程 (UI) 什么都不做,但是如果我用鼠标抓住窗口并在屏幕上缓慢移动,它会每 3 秒卡住大约 2 秒,然后它会跳转到鼠标光标位置并跟随鼠标再次,直到发生下一次连接尝试。
换句话说,当 TCPClient 尝试连接时,主线程似乎被阻塞了。
为什么会发生这种情况,即使 TCPClient 在它的单独线程中?