java大数据 多线程写文件

java大数据 多线程写文件,第1张

1、采用public static的变量存储这一数值,每个线程都往这一共有静态变量里写入已复制大小。 2、采用Callable方式实现多线程,将结果作为返回值返回到主线程。这一方法只能在所有子线程都完成之后才能通过future获取。

看场景;

效率的瓶颈不在代码的时候,比如用的最多的io *** 作,

下载器,下载服务器每个接口就给你500k的速度,那多线程相当于500*n,本地网络最大2m每秒,可以开3~5个线程自然快;

复制器,windows *** 作系统复制文件很慢,因为负责复制的api防止系统卡死每个线程就给你那点速度,如果用java写个多线程io流复制,速度快8倍左右;

这样的场合有个特点,速度或者说效率的关键不是java的处理能力,而是接口限制成了瓶颈;

举个反例,如果对一个集合进行遍历,打印value,使用多线程明显比单线程效率低;因为时间过多的消耗在了创建线程,销毁线程上,执行的有用代码和单线程没区别,效率不如单线程;


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11480163.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存