如何在几个线程中使用一个文件
我有一个使用 tabPage 控件的应用程序。在每个控件中,我从 Excel 文件读取数据,然后在单独的线程中分析数据。如何让几个线程可以从一个excel文件中读取数据?
I have application where I'm using a tabPage controls. In each of this controls I read data from the excel file and then analyze the data in separate threads. How make to a few threads can read data from one excel file?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
将数据读入内存并通过
mutex
同步不同线程的访问(在您的情况下可能是CriticalSection
)read data into memory and synchronize access from different threads by
mutex
(probablyCriticalSection
in your case)以下是一些示例的链接:
Win API,用于C 和 C++、
EnterCriticalSection
此外,在 C# 中,线程也很好文章
Here are links to some samples:
Win API, for C and C++,
EnterCriticalSection
Also, in C#, nice threading article
假设您使用 Excel 的 COM 接口,并且正在处理单个工作簿,则只能从单个线程读取/写入 Excel。
Assuming you are using the COM interface to Excel, and you are working on a single workbook, you can only read/write from/to of Excel from a single thread.
您必须读取内存中的数据。记录格式的数据可以放入队列中,线程可以在其中拾取任务。您可能想查看 Java 中的 java.util.concurrent 包。
You will have to read the data in the memory. This data in the record format could be put up in a Queue where threads can pick up tasks. You may want to look at the java.util.concurrent package in Java.