如何在程序执行的时候动态的申请多个线程啊?
具体目标:现在有一个文件监视的控件,会监视一个文件夹目录的改变,若发生改变,则执行一个方法,比如DoWork,现在问题是,没发生一次文件改变就会调用一次这个方法,可能出现方法还没执行完,这边又有新的文件变化,所以想使用多线程,没发生一次改变,新申请一个线程,执行完成后,释放掉该线程,以确保每个文件对应的方法都能执行完。注,所有的方法都是一样的,只是出入的参数不一样。
具体目标:现在有一个文件监视的控件,会监视一个文件夹目录的改变,若发生改变,则执行一个方法,比如DoWork,现在问题是,没发生一次文件改变就会调用一次这个方法,可能出现方法还没执行完,这边又有新的文件变化,所以想使用多线程,没发生一次改变,新申请一个线程,执行完成后,释放掉该线程,以确保每个文件对应的方法都能执行完。注,所有的方法都是一样的,只是出入的参数不一样。
{
autoEvent.WaitOne();
// Do Work,做你想做的事情。
DoWork();
autoEvent.Set();
}然后利用线程,执行ViewFileFolder方法。
if(文件夹发生改变)
{
Thread thrd = new Thread(new ThreadStart(ViewFileFolder));
}
//线程执行完不需要你释放,GC做的事情。