2014-10-06 45 views
0

所以我想检查一个文件,如果它包含一个数据。我的程序是多线程的,所以它不会工作,因为该文件不能同时访问,也给出了错误,是否有可能加载到字符串数组,并检查该数组是否包含我想要的文本?可以从不同的线程多次检查一个数组

如果我在5-10个不同的线程在同一时间检查它的重要吗?

以及如何在同一时间从所有这些线程向文件写入文本,但应查看是否正在使用并等待,然后再进行写入,以免记录错误。

回答

0

...是否有可能将它加载到字符串Array并检查该数组是否包含我想要的文本?

是。将文件读入一个字符串数组并且检查数组中的某个字符串是否包含另一个字符串是直接编程。

如果我在同一时间从5-10个不同的线程检查它会有什么关系吗?

是的,它很重要。您必须以正确的方式实施代码,以确保它始终有效。

你的问题很难破译,但我猜你想要在线程之间共享字符串数组,并且希望线程更新数组。在这种情况下,正确的同步是必不可少的,否则你很可能会遇到竞态条件和内存异常。

如何在同一时间从所有这些线程向文件写入文本,但应查看是否正在使用并等待,然后再写入,以免记录错误。

您需要正确同步,以便任何时候只有一个线程尝试写入文件。此外,您需要确保一个线程不会尝试打开文件流,而另一个流打开该文件。 (这是最有可能您的当前错误的原因。对Java的Windows不会让你这样做......虽然Java的Linux上允许的话)。


我建议你阅读Oracle Java教程如何编写多线程程序。

+0

我写在vb上。但是,谢谢,我决定编辑我的第一个代码,为每个代码分配合适的ID,并为此单独维护数据文件。 – kks21199 2014-10-06 04:30:42

相关问题