gpt4 book ai didi

c# - C# 委托(delegate)中的线程 sleep 时间

转载 作者:行者123 更新时间:2023-12-03 13:21:17 25 4
gpt4 key购买 nike

我正在使用一些委托(delegate)在线程中显示或更改表单上的某些内容。事件方法如下。

private void PictureBoxImageSet(PictureBox PictrBox, Image Img)
{
try
{
PictrBox.BeginInvoke((ThreadStart)delegate()
{
PictrBox.Image = Img;
});
Thread.Sleep(FORM_ITEM_INVOKE_TASK_SLEEP_VALUE);
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}

我总是必须使用 Thread.Sleep() 方法吗?如果我删除它,我的软件将如何受到此更改的影响?在这类事件中,线程 sleep 值是多少?

最佳答案

调用 PictureBoxImageSet 函数的代码将继续进一步执行,而不会延迟 thread.sleep 中使用的时间。

如果您正在使用图片更改事件,那么如果其他线程根据图片数据执行某些工作,则可能会产生影响。

如果要同步完成这项工作,则调用 PictrBox.Invoke 方法并删除 thread.sleep。它将保证在进一步执行代码之前设置图像。

关于c# - C# 委托(delegate)中的线程 sleep 时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10877523/

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