当一个子线程在打开一个外部文件或数据库,进行写入时,这时主程序要中止这个子线程,请问有什么办法才能使子线程操作完后才终止?/****线程开始*******/
Thread[] threads = new Thread[10];
foreach(Thread thread in threads)
{
thread = new Thread(new ThreadStart(work));
thread.start();
}private void work()
{
//do work
//open file
//dosomething();
//close file
//do work
}/*********
然后请问我要如何安全中止他?
我现是是这样子做的
lock(threads)
{
foreach(Thread thread in threads)
{
if(thread.isAlive)
thread.abort();
}
}
//请问一下,要如何请能使thread.abort()能够保证线程没有运行在操作文件的过程中?
或是问一下是否有更好的设计模式。