我对多线程有点新,所以请原谅我,如果这些问题太微不足道了。C++处理主线程中的多线程
我的应用程序需要在线程中创建多个线程并从每个线程执行操作。
例如,我有一组要读取的文件,比如说50,我创建了一个使用CreateThread()函数读取这些文件的线程。
现在这个主线程创建4个线程来访问文件。第一个线程给出文件1,第二个文件2等等。
第一个线程完成读取文件1并给主线程所需的数据后,主线程需要用文件5调用它并从中获取数据。所有其他线程的情况类似,直到读取所有50个文件。
之后,每个线程被销毁,最后我的主线程被销毁。
我现在面临的问题是:
1)如何停止一个线程文件读取后退出?
2)如何用其他文件名再次调用线程?
3)我的子线程如何给主线程提供信息?
4)线程完成读取文件并返回主线程数据后,主线程将知道哪个线程提供了数据?
谢谢
是'队列'的'std :: queue'吗?那么你的例子就是缺少互斥或其他锁定机制,对吧? – Philipp 2012-07-23 06:52:08
这就是为什么它说'锁定螺纹省略':] – stijn 2012-07-23 07:27:34
哎呀,对不起:-) – Philipp 2012-07-23 07:58:35