让电脑的每个盘符都执行函数(任务)
类 电脑都{//要把程序整合起来,不然光是命令太烦人了.
向量<串>盘{"C:\\","D:\\","E:\\","F:\\","G:\\","H:\\","I:\\","J:\\","K:\\","L:\\"};
向量<线程>们;
公:
元<型名 F,型名...O>
空 处理(F&f,O&&...o){//用当前路径,则竞争了.
对(串&p:盘){//先赋值了第一个参数了.
打印(p);线程 t(f,p,o...);
压(们,移动(t));
}//第1个参数以盘符串为路径.
并(们);
}//这个线程不支持多个重载,不能离开生命期.
//空 后处理(){并(们);}
};//如果是模板,要全写模板参数.
只有实际使用线程才能得到线程相关经验.
这里这个并不能放在后处理,否则线程对象都析构了.线程里面的函数不能有重载,不然人家不认识.除非你又搞什么绑定.
还有线程的函数,第1个参数,要以目录为参数.不然无法真正的并行执行线程.假设你设置当前路径,这就是个锁.我们要尽量要线程独立.那么就应该提供线程所需的一切.让他们自己搞定.
独立性是多线程编程的核心.
与盘符有关路径,记得加上异常处理,有些有权限问题.等等.
浙公网安备 33010602011771号