【发布时间】:2011-10-10 19:06:18
【问题描述】:
我的线程应该返回一个数组列表并将其放入文件中。
我的问题是它会停止(至少我是这么看的)。
线程:
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") 然后什么也不做。 提前致谢。
【问题讨论】:
-
您遗漏了示例中最重要的部分——循环中的内容是什么?
-
对于初学者,您希望 (1) 在您启动
getF之后进行某种等待/循环构造,以确保线程在您尝试对ArrayList执行某些操作之前实际完成,并且/ 或 (2) 锁定files以防止您的代码同时尝试读取和写入它。
标签: c# multithreading thread-safety arraylist