考虑到多线程应用程序正在调试地狱,应该不惜一切代价避免……
显示进度条的要求是进入多线程领域的充分理由吗?
具体来说,假设一个C# windows forms .NET 3.0应用程序需要下载一个100MB的文件。多线程(通过BackgroundWorker组件)在该线程上进行下载是否正确,以便UI线程可以自由更新显示进度的进度条?
如果这个问题有点模糊,很抱歉。我以前没有做过任何多线程的事情。
发布于 2009-10-17 22:59:26
您还没有说明您使用的是什么语言;例如,在C#中,您可以将WebClient与DownloadFileAsync和DownloadProgressChanged一起使用
虽然这是一个多线程程序,但我认为它是一个低复杂度的程序。
发布于 2009-10-18 01:25:19
在创建GUI应用程序时,在UI线程上执行所有操作的主要问题是,它可能会在等待I/O的过程中冻结应用程序。因此,如果没有任何东西可能会使应用程序冻结足够长的时间,从而惹恼用户(当然,这段时间是非常主观的),那么就继续使用单线程应用程序。但除此之外,我想问题是你有多看重用户体验。
https://stackoverflow.com/questions/1583430
复制相似问题