推广 热搜: csgo  vue  angelababy  2023  gps  新车  htc  落地  app  p2p 

java多线程读取文件夹中的多个文件问题,新手多谢!

   2023-08-21 网络整理佚名1890
核心提示:要实现你的功能那就只有一个办法让这5个线程之间有一个共识,就是让他们都知道除他之外的线程是否已经对某个文件进行了读取操作,如果已读取就不再读了。这里最好的办法就是定义一个全局变量,当一个线程一开始读取文件就把这个文件名信息存入这个全局变量中,别的线程读取时来判断一下那文件是否己经存到了全局变量中,如果已存在就不在讯取这个文件了。

new (读取, "线程 1").start();new (读取, "线程 2").start();new (读取, "线程 3").start();new (读取, "线程 4") ).start();new(读取,“线程 5”).start(); 我们无法控制这些线程的执行顺序,线程并发是不可避免的。 要实现你的功能,只有一种方法可以让这5个线程达成共识,就是让他们都知道除了他之外的线程是否读过某个文件,如果读过就不会读再次。 这需要线程之间的通信来完成。 这里最好的方法是定义一个全局变量。 当线程开始读取文件时,将文件名信息存储在全局变量中。 当其他线程读取它时,它会判断该文件是否已存储在全局变量中。 如果它已经存在,则不会检索该文件。 总体思路是这样的。 所以你必须修改这段代码,在main中创建一个全局变量LIST,然后将这个LIST传递到这5个线程中才能达到效果。 当然,你也可以将列表设置成这样,这样更容易做到。 需要注意的是,在每个线程中,都需要在这个全局链表中添加一个线程锁。 当任何线程对链表进行操作时,让其他线程处理等待状态。

 
反对 0举报 0 收藏 0 打赏 0评论 0
 
更多>同类资讯
推荐图文
推荐资讯
点击排行
网站首页  |  关于我们  |  联系方式  |  使用协议  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报
Powered By DESTOON