gpt4 book ai didi

c# - C# 线程切换

转载 作者:行者123 更新时间:2023-11-30 14:36:26 24 4
gpt4 key购买 nike

我有一个多标签软件。在每个选项卡中,我想运行不同的线程。当我从一个选项卡切换到另一个选项卡时,我暂停相关线程,然后为新选项卡启动一个新线程。

有时,当我快速更改选项卡时,我的线程停止运行并且没有给我任何异常或错误。我通过调试了解这种情况。对于这种情况,我看到“线程窗口”中出现了许多相同的线程,但没有一个正在运行。

我认为线程的挂起和启动不是一个好主意,但我应该怎么做才能避免这个问题?

最佳答案

“我有一个多标签软件。”

好的,好的。

'在每个选项卡中,我想运行不同的线程'

我假设您的意思是每个选项卡都有自己的线程实例,单独与该选项卡交互。好的,很好,这不是一个不寻常的设计。也许您在每个选项卡上与不同的网站进行交互,诸如此类。没关系。

'当我从一个标签切换到另一个标签时,我挂起相关线程,然后为新标签启动一个新线程'

不行!你为什么做这个?你不能只是切换标签吗?其他线程可以继续更新/任何组件,(使用 Invoke/BeginInvoke),在不可见的页面上,当您切换回来时,将显示更改。

嘿!码农!别管那些线程了!

'有时,当我快速更改选项卡时,我的线程停止运行并且没有给我任何异常或错误。我通过调试了解这种情况。对于这种情况,我看到“线程窗口”中出现了许多相同的线程,但没有一个正在运行'

我并不感到惊讶。为每个选项卡启动一个线程,无论它做什么,都让它继续。

“我认为线程的挂起和启动不是一个好主意,但我应该怎么做才能避免这个问题?”

别这样了!用户级别的微观管理线程几乎总是以灾难告终。

关于c# - C# 线程切换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512223/

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