【发布时间】:2017-03-07 20:58:09
【问题描述】:
我对多线程有点陌生,如果这些问题太琐碎,请见谅。
我的应用程序需要在一个线程中创建多个线程并从每个线程执行操作。
例如,我有一组文件要读取,比如 50 个,我创建了一个线程来使用 CreateThread() 函数读取这些文件。
现在这个主线程创建了 4 个线程来访问文件。第一个线程被赋予文件 1,第二个文件 2 等等。
在第一个线程完成读取文件1并给主线程所需的数据后,主线程需要调用文件5并从中获取数据。在读取所有 50 个文件之前,所有其他线程也是如此。
之后,每个线程都被销毁,最后我的主线程也被销毁了。
我面临的问题是:
1) 文件读取后如何停止线程退出?
2) 如何用其他文件名再次调用线程?
3) 我的子线程如何向主线程提供信息?
4) 一个线程读完文件并给主线程返回一个数据后,主线程如何知道是哪个线程提供了数据?
谢谢
【问题讨论】:
标签: c++ multithreading visual-studio-2005