多线程并发处理文件内容

假设一文件夹下有10000个文件,要分10个线程进行读取,分批处理Java怎么用多线程并发方法完成

2个回答

看你的性能瓶颈在哪里。如果是在磁盘上,那么多线程反倒更慢。
即便在cpu上,除非你有10个以上的cpu(内核),否则开的线程多于cpu数也不会有效。

开多个线程,分批,把10000个文件分成10组,每个线程处理一组。线程也不是越多约好,取决于CPU的多核等。一般是多进程+多线程

qq_30743669
qq_30743669 回复oyljerry: 我把目录list出来,然后分成10个数组,也写成了10个线程。可是就是不知道怎么让一个线程对应一个数组进行一对一调用
接近 5 年之前 回复
oyljerry
oyljerry 回复qq_30743669: 最简单10000个文件分成10个目录,一个线程处理一个目录
接近 5 年之前 回复
qq_30743669
qq_30743669 分批和让每个线程处理一组的步骤思路不懂,能不能给个简单DeMo
接近 5 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
关于java多线程并发读写的问题

1.文件内容读取到缓存 2.从缓存获取文件内容,写入到磁盘 3.控制缓存大小 4.多线程并发写丶读

C#多线程处理实现post并发请求

需求是这样:如从文件中读取了10条数据,将数据参数循环给post请求,然后分别记录每个请求所用时间,最后记录平均请求时间,希望能从原有代码上使用多线程处理。请求和响应。 原有代码: //读取excel ds = Extensions.FilesIO.ExcelRead(file_path, "sheet1"); for (int i = 0; i < 5; i++) { id = ds.Tables[0].Rows[i][0].ToString().Trim(); name = ds.Tables[0].Rows[i][1].ToString().Trim(); //请求参数 var par = new Dictionary<string, string>(); par.Add("name", name); par.Add("id", id); //测试demo result = Extensions.Http_Conn.SendPost(url, par, "get"); 记录当前请求时间 } 记录平均时间

mfc界面的多线程并发访问,如何能够保证互斥?

我用timer的方法没秒钟调用一个函数,这个函数会访问界面上的一个编辑框中的内容,但是发现运行久了界面会出错,应该是多线程没有互斥引起的,怎么处理这个问题比较方便?

socket编程多线程文件传输

要实现的是开多线程传输一个文件,目的是提高传输速度。 思路是这样的:服务端开多线程,将文件分割,一个线程传输一块,客户端也开多线程,每个线程接受一块,最后拼成一个完整的文件。服务端支持多线程, 客户端要支持多线程, 然后客户端每个线程都建立连接到服务端请求一个文件的某个分片。 希望大家可以提供一下类似的代码,现在只有思路不知道怎么下手。

JAVA多线程下载多文件问题

在本地TXT文本中有一些文件链接地址,如何用多线程去处理下载? 想要做的是:用for循环遍历出要下载的文件列表,用多线程去下载,一个线程下载一个文件。 现在的问题是:线程A已经开始发起请求下载文件A,线程B会重新遍历for循环,又继续请求下载文件A,两个都重复了。

java 并发处理耗时操作的问题

刚刚写了个测试程序 原本想使用多线程并发处理 来节省时间,结果反而更耗时。请各位指点一下。 主方法: public class MainAction { public static void main(String[] args) { /*new Action1().run(); new Action2().run(); new Action3().run();*/ new Thread(new Action1()).start(); new Thread(new Action2()).start(); new Thread(new Action3()).start(); } } Action1 /2/3(方法一样,只是文件大小不同): public class Action1 implements Runnable{ public void run() { System.out.println("start 1.........."); long start1 = System.currentTimeMillis(); writeToTxt("123"); Context.flg1 = 1; long end1 = System.currentTimeMillis(); float second1 = (end1 - start1) / 1000F; System.out.println("end 1 cost " + second1 + " s"); } public void writeToTxt(String text){ File file = new File("D:/1.txt"); FileWriter fw = null; BufferedWriter writer = null; try { fw = new FileWriter(file); writer = new BufferedWriter(fw); for (int i=0;i<200*1000*10;i++) { writer.write(text); writer.newLine();//换行 } writer.flush(); } catch (FileNotFoundException e) { e.printStackTrace(); }catch (IOException e) { e.printStackTrace(); }finally{ try { writer.close(); fw.close(); } catch (IOException e) { e.printStackTrace(); } } } } 运行结果: start 1.......... start 2.......... start 3.......... end 2 cost 89.906 s end 3 cost 115.905 s end 1 cost 163.817 s 如果使用上面注掉的串行 运行: start 1.......... end 1 cost 13.681 s start 2.......... end 2 cost 18.752 s start 3.......... end 3 cost 20.051 s 求解,是不是程序并没有真正的多线程去执行。 另外,如果Action1/2/3 是3个远程调用,能否达到节省时间的效果?

spring、mybatis整合多线程问题

1.在已有的spring+mybatis项目中增加了多线程访问数据库的业务,主要是查询,添加,写入到其它数据源。 2.部分需要支持多线程的service类已增加@scope("prototype"),从debug可以看到service获取到的已是不同的对象(service是线程类,获取方式通过spring上下文获取)。 3.service中注解的mapper是单例的,运行过程中经常报连接已关闭。开始的想法是在mapper接口上也加入@scope("repository")注解,结果加上后,程序启动报错。 4.现在我是直接用原始jdbc来处理可以很好的解决多线程的问题,想请教下大家在原有的框架中怎么处理才能支持多线程。 <br></br> #2018年4月8日,更新 问题已解决,在service类中注解SqlSessionFactory对象,通过openSession方法可以获取到一个SqlSession对象,然后getMapper出来的对象就是线程安全的。

Qt 基于UDP的多线程文件传输

发送端5个线程发送数据,接收端主线程接收到数据放入循环队列,同时接收端一个子线程从队列中取出数据并写入文件,但总丢包,不知道问题出在哪?

MFC多线程查找数据,关于数据的分割

从文本文件中用MFC语言读取60万个数据,为了提高效率如何采用多线程并发的方式读取?

c语言多线程运行后为什么值会变成这样

请问为什么运行下列程序后,gCount的值不为5,而是为一个莫名其妙的随机数啊? 如果说是多线程影响的,那毕竟加和减在两个函数里都限定死了为10000000次,那运算结果应该还是为5啊? 整个运行机制到底是怎样的? 求大神解答! #include<windows.h> #include<stdio.h> #include<process.h> volatile unsigned int gCount=5; //gCount是全局共享变量,volatile表明不进行优化 unsigned __stdcall FirstThreadFunc(void *pArguments) { int i; for(i=0;i<10000000;i++) { gCount=gCount+1; } return 0; } unsigned __stdcall SecondThreadFunc(void *pArguments) { int i; for(i=0;i<10000000;i++) { gCount=gCount-1; } return 0; } int main() { HANDLE hThread[2]; unsigned threadID[2]; printf("gCount的初始值为%d\n",gCount); hThread[0]=(HANDLE)_beginthreadex(NULL,0,FirstThreadFunc,NULL,0,&threadID[0]); hThread[1]=(HANDLE)_beginthreadex(NULL,0,SecondThreadFunc,NULL,0,&threadID[1]); WaitForSingleObject(hThread[0],INFINITE); WaitForSingleObject(hThread[1],INFINITE); CloseHandle(hThread[0]); CloseHandle(hThread[1]); printf("并发修改后,gCount的值为%d\n",gCount); return 0; }

多线程一定比单线程快吗?

在Windows编程中,多线程一定比单线程快吗?什么时候该用多线程?什么时候该用单线程?它们各自的应用场景是什么?

java文件上传并发操作问题

我在做一个java的文件监听上传。现在主要的问题就是并发操作。主要解决监听过程中的许多文件上传问题。最好用队列,因为如果监听时间太久会影响性能。谁能给我一点思路。现在想的是用ArrayBlockingQueue

socket和多线程的混合使用

怎么写一个利用多线程和socket实现客户端连续向服务端上传多张图片啊并且保存?

thrift服务端中可否使用多线程,会出现什么问题

thrift服务端可以使用多线程模型,但是由于单个任务很大,时间很长,可以通过在服务端代码中使用多线程来加速处理么?

c#写怎么防止并发操作(一个要删文件,一个要读文件)?

c#写web后台文件和数据库操作,怎么防止并发操作(一个要删文件,一个要读文件)?

libevent http server 怎么做的高并发的?

新手,了解了一下libevent库,参考网上写了个例子,大概的libevent的函数如下: C/C++ code struct evhttp *http_server = NULL; event_init(); http_server = evhttp_start(app_config.addr, app_config.port); if (http_server == NULL) { kill(0, SIGTERM); exit(-1); } fprintf(stdout, "app listen on %s:%d\n", app_config.addr, app_config.port); evhttp_set_timeout(http_server, app_config.timeout); evhttp_set_gencb(http_server, generic_request_handler, NULL); event_dispatch(); evhttp_free(http_server); 这么简单就可以了。 这样只是一个进程而已,就能达到高并发处理了? 难道libevnet里面的机制是多线程?高手指导一下,libevent是如何做到高并发处理的?不胜感激啊

多线程操作一个单链表List

我已经用C++写好了一个List类,现在想实现下多线程操作List,要求同步增加数据,同时把数据写入同一文件中。小白一枚,求大牛指导。。。

epoll高并发服务器模型

问题:目前想做一个文件传输服务器,可以进行上传下载文件操作,希望支持高并发连接。 查资料大多服务器采用单I/O线程+多工作线程模型实现。I/O线程负责监听和分发事件,工作线程处理事件。 想知道这种模型是否适合于做文件传输服务器? 下面是我的看法: 工作者线程的数量毕竟还是不会太多,如果支持很多用户同时下载的话,采用这种模型是否还是需要相同数量的工作线程(或者相当于时间片轮转的方式在几个任务切换?),感觉这种模式适合短作业。 求大神指点,这种模型是否适合?有没有更好的方式?

.net 服务多线程 调用非托管C++DLL 如何防止 服务崩溃?

有一个.net服务,服务中开了多线程。其中有一线程会去调用非托管C++DLL,并阻塞等待其返回值。其他线程同步做文件处理、数据状态更新等操作。现在调用非托管C++DLL的线程会因为非托管代码的问题,崩溃。这样整个服务也就崩溃了!需要人工去服务器上重启该服务!请问:如何防止整个服务崩溃?是否可以捕获非托管C++中的错误。因为已经try catch了,但什么都捕获不到,直接服务崩溃!

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

Vue + Spring Boot 项目实战(十九):Web 项目优化解决方案

快来一起探索如何打脸我们的破项目,兄弟姐妹们把害怕打在公屏上!

你连存活到JDK8中著名的Bug都不知道,我怎么敢给你加薪

CopyOnWriteArrayList.java和ArrayList.java,这2个类的构造函数,注释中有一句话 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 public ArrayList(Collection&lt;? ...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解!

CSDN:因博主近期注重写专栏文章(已超过150篇),订阅博主专栏人数在突增,近期很有可能提高专栏价格(已订阅的不受影响),提前声明,敬请理解! 目录 博客声明 大数据了解博主粉丝 博主的粉丝群体画像 粉丝群体性别比例、年龄分布 粉丝群体学历分布、职业分布、行业分布 国内、国外粉丝群体地域分布 博主的近期访问每日增量、粉丝每日增量 博客声明 因近期博主写专栏的文章越来越多,也越来越精细,逐步优化文章。因此,最近一段时间,订阅博主专栏的人数增长也非常快,并且专栏价

一个HashMap跟面试官扯了半个小时

一个HashMap能跟面试官扯上半个小时 关注 安琪拉的博客 1.回复面试领取面试资料 2.回复书籍领取技术电子书 3.回复交流领取技术电子书 前言 HashMap应该算是Java后端工程师面试的必问题,因为其中的知识点太多,很适合用来考察面试者的Java基础。 开场 面试官: 你先自我介绍一下吧! 安琪拉: 我是安琪拉,草丛三婊之一,最强中单(钟馗不服)!哦,不对,串场了,我是**,目...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

面试:第十六章:Java中级开发

HashMap底层实现原理,红黑树,B+树,B树的结构原理 Spring的AOP和IOC是什么?它们常见的使用场景有哪些?Spring事务,事务的属性,传播行为,数据库隔离级别 Spring和SpringMVC,MyBatis以及SpringBoot的注解分别有哪些?SpringMVC的工作原理,SpringBoot框架的优点,MyBatis框架的优点 SpringCould组件有哪些,他们...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

工作八年,月薪60K,裸辞两个月,投简历投到怀疑人生!

近日,有网友在某职场社交平台吐槽,自己裸辞两个月了,但是找工作却让自己的心态都要崩溃了,全部无果,不是已查看无回音,就是已查看不符合。 “工作八年,两年一跳,裸辞两个月了,之前月薪60K,最近找工作找的心态崩了!所有招聘工具都用了,全部无果,不是已查看无回音,就是已查看不符合。进头条,滴滴之类的大厂很难吗???!!!投简历投的开始怀疑人生了!希望 可以收到大厂offer” 先来看看网...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

程序员是做全栈工程师好?还是专注一个领域好?

昨天,有位大一的同学私信我,说他要做全栈工程师。 我一听,这不害了孩子么,必须制止啊。 谁知,讲到最后,更确定了他做全栈程序员的梦想。 但凡做全栈工程师的,要么很惨,要么很牛! 但凡很牛的,绝不是一开始就是做全栈的! 全栈工程师听起来好听,但绝没有你想象的那么简单。 今天听我来给你唠,记得帮我点赞哦。 一、全栈工程师的职责 如果你学习编程的目的只是玩玩,那随意,想怎么学怎么学。...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

用了这个 IDE 插件,5分钟解决前后端联调!

点击上方蓝色“程序猿DD”,选择“设为星标”回复“资源”获取独家整理的学习资料!作者 |李海庆我是一个 Web 开发前端工程师,受到疫情影响,今天是我在家办公的第78天。开发了两周,...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

Java14 新特性解读

Java14 已于 2020 年 3 月 17 号发布,官方特性解读在这里:https://openjdk.java.net/projects/jdk/14/以下是个人对于特性的中文式...

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

前端还能这么玩?(女朋友生日,用前端写了一个好玩的送给了她,高兴坏了)

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

工作两年简历写成这样,谁要你呀!

作者:小傅哥 博客:https://bugstack.cn 沉淀、分享、成长,让自己和他人都能有所收获! 一、前言 最近有伙伴问小傅哥,我的简历怎么投递了都没有反应,心里慌的很呀。 工作两年了目前的公司没有什么大项目,整天的维护别人的代码,有坑也不让重构,都烦死了。荒废我一身技能无处施展,投递的简历也没人看。我是不动物园里的猩猩,狒狒了! 我要加班,我要996,我要疯狂编码,求给我个机会… ...

相关热词 c# 解析cad c#数字格式化万 c#int转byte c#格式化日期 c# wpf 表格 c# 实现ad域验证登录 c#心跳包机制 c#使用fmod.dll c#dll vb 调用 c# outlook
立即提问
相关内容推荐