[闻缺陷则喜]多线程读取参数文件

简介: [闻缺陷则喜]多线程读取参数文件

源码下载:

https://download.csdn.net/download/he_zhidan/22215361

事情起因:

修改配置后,C++函数取读配置xml时,相机缓存满了而引起崩溃。几率发生。

解决思路:

读文件费时间,所以开一个线程读文件。

抽象后的类似demo:

假定读文件需要0.6秒,图像处理(用存文件代替)需要0.5秒,各执行100次。

类和函数

读取文件函数:

一,List<int>增加本序号(0开始)。

二,随机生成5000整数,加到list<int>中。

三,写文件(文件名为序号,如0.txt),文件夹File。

四,Sleep(600)。

五,记录日志:本函数开始执行 时间,结束时间,序号。

六,复制List<int>到参数。

模拟图像处理函数:

一,复制参数

二,参数保存到文件,文件名list<int>第一个int,文件夹img。

三,Sleep(500)。

六,记录日志:本函数开始执行 时间,结束时间,序号。

参数类(跨线程):

一,从list<int>复制参数。

二,复制数据到list<int>。

线程:

启动线程“读取参数”线程:执行100次 读取参数功能。

启动线程“模拟图像处理”线程:执行100次 模拟图像处理。

运行预期结果:

File文件夹中有0到100共101个文件。

img有约80个文件。

img有的文件,File文件夹中一定有,且完全相同。用文件夹比较工具(如:BCompare)查看。

查看日志:“读取参数”线程约60秒完成,模拟图像处理”线程约50秒完成。


相关文章
|
监控 Java 数据库
深入探讨线程池及其关键参数
深入探讨线程池及其关键参数
|
Java 数据库连接 调度
面试题:用过线程池吗?如何自定义线程池?线程池的参数?
字节跳动面试题:用过线程池吗?如何自定义线程池?线程池的参数?
232 0
|
2月前
|
缓存 Java
线程池的核心参数
线程池七大参数解析:核心线程数决定常驻线程,最大线程数控制并发上限,存活时间管理非核心线程生命周期,工作队列缓存待处理任务,线程工厂定制线程属性,拒绝策略应对任务过载,提升系统稳定性与资源利用率。
249 1
|
Java 存储
线程池的核心参数有哪些?
线程池七大核心参数:核心/最大线程数、线程保持时间及单位、阻塞队列、线程工厂与拒绝策略。
509 79
|
7月前
|
Java
线程池的核心参数有哪些 ?
corePoolSize 核心线程数量 maximumPoolSize 最大线程数量 keepAliveTime 线程保持时间,N个时间单位 unit 时间单位(比如秒,分) workQueue 阻塞队列 threadFactory 线程工厂 handler 线程池拒绝策略
|
Java
解析Java线程池:参数详解与执行流程
解析Java线程池:参数详解与执行流程
196 1
|
缓存 安全 算法
Java面试题:如何通过JVM参数调整GC行为以优化应用性能?如何使用synchronized和volatile关键字解决并发问题?如何使用ConcurrentHashMap实现线程安全的缓存?
Java面试题:如何通过JVM参数调整GC行为以优化应用性能?如何使用synchronized和volatile关键字解决并发问题?如何使用ConcurrentHashMap实现线程安全的缓存?
156 0
|
11月前
|
Java
线程池七大参数
核心线程数:线程池中的基本线程数量 最大线程数:当阻塞队列满了之后,逐一启动 最大线程的存活时间:当阻塞队列的任务执行完后,最大线长的回收时间 最大线程的存活时间单位 阻塞队列:当核心线程满后,后面来的任务都进入阻塞队列 线程工厂:用于生产线程
|
12月前
lua面向对象(类)和lua协同线程与协同函数、Lua文件I/O
Lua的面向对象编程、协同线程与协同函数的概念和使用,以及Lua文件I/O操作的基本方法。
142 4
lua面向对象(类)和lua协同线程与协同函数、Lua文件I/O
|
缓存 Java
异步&线程池 线程池的七大参数 初始化线程的4种方式 【上篇】
这篇文章详细介绍了Java中线程的四种初始化方式,包括继承Thread类、实现Runnable接口、实现Callable接口与FutureTask结合使用,以及使用线程池。同时,还深入探讨了线程池的七大参数及其作用,解释了线程池的运行流程,并列举了四种常见的线程池类型。最后,阐述了在开发中使用线程池的原因,如降低资源消耗、提高响应速度和增强线程的可管理性。
异步&线程池 线程池的七大参数 初始化线程的4种方式 【上篇】