gpt4 book ai didi

C#|线程执行后程序什么都不做

转载 作者:行者123 更新时间:2023-11-30 21:12:03 26 4
gpt4 key购买 nike

我的线程应该返回一个数组列表并将其放入文件中。
我的问题是它只是停止(至少我是这样看的)。
主题:

 ArrayList files = new ArrayList();
Thread getF = new Thread(delegate()
{
files = GetFiles(path);
});
getF.Start();
if (getF.ThreadState == ThreadState.Stopped)
{
MessageBox.Show(files.Count.ToString());
foreach (string file in files)
{
if (file != "")
{...

获取文件:

ArrayList results = new ArrayList();
try
{
*loops**code*...
results.Add(srl);//add file to arrFiles
*end loops*

MessageBox.Show("Complete");
return results;
}

程序只给我 MessageBox.Show("Complete") 然后什么都不做。提前致谢。

最佳答案

        getF.Start();
if (getF.ThreadState == ThreadState.Stopped)
{
//...
}

if() 语句永远不会执行。线程完成它的工作需要时间。您将不得不插入 getF.Join() 但这违背了使用线程的意义。

使用 BackgroundWorker 类。

关于C#|线程执行后程序什么都不做,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7717408/

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