社区
进程/线程/DLL
帖子详情
增加线程可否提高程序的运行速度?
seeku
2003-10-18 02:06:55
我的程序运行方式是先生成一种中间格式,然后再利用自动化生成Excel文件。
感觉速度不快。
可否改成生成中间格式和生成文件同时进行(这个是可行的,因为程序是一段一段输出的)。
不知道这样可否提高效率?
还有一个疑问,线程A申请的空间线程B来释放是否可以?
...全文
145
6
打赏
收藏
增加线程可否提高程序的运行速度?
我的程序运行方式是先生成一种中间格式,然后再利用自动化生成Excel文件。 感觉速度不快。 可否改成生成中间格式和生成文件同时进行(这个是可行的,因为程序是一段一段输出的)。 不知道这样可否提高效率? 还有一个疑问,线程A申请的空间线程B来释放是否可以?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
seeku
2003-10-18
打赏
举报
回复
经过实际测试,发现速度并没有提高,反而带来了同步的困扰,而且破坏了原来的面向对象结构。算了,还是按照原来的做法。
谢谢大家!
topjupiter
2003-10-18
打赏
举报
回复
可以多做几个线程专门用于生成文件,不过需要进行进程间的同步和通讯
晨星
2003-10-18
打赏
举报
回复
未必提高速度,因为文件一旦被创建后,所有的写入动作都是先写入内存缓冲,然后在适当的时候操作系统会才把它写入磁盘。
所以,你的程序中并不存在过多的I/0操作等待时间,也就是说,本来就没有浪费时间,开两个线程也就无从“节约时间”。
除非你的主板上有两个CPU。
当然,这只是从理论上的分析。究竟如何,试试不就知道了?
gaomou
2003-10-18
打赏
举报
回复
"线程A申请的空间线程B来释放是否可以"
是用new分配的?
yaoha2003
2003-10-18
打赏
举报
回复
线程开得太多也不好,因为会使CPU忙于线程间的切换
孤必有邻
2003-10-18
打赏
举报
回复
多线程的应用情形是:多个任务相对同时进行,且处理过程相对漫长。
典型情况是:服务端同时响应多个客户端的数据请求,每个请求有多次交互或耗时处理。
对于你的情况,如果两个处理的耗时差距悬殊,则没必要用多线程,如果都很耗时,则用。
Java多
线
程精讲上
本课程是《零基础学Java》系列课程中的多
线
程相关课程.授课形式延续了之前课程的授课风格。内容细腻、详尽,由浅入深!通过本门课程的学习你可以深刻理解Java多
线
程的原理及实现
运行
机制,深刻学习多
线
程的生命周期、调度、控制等内容。本门课程(多
线
程精讲上)涵盖内容如下:
线
程概述l 多
线
程的实现方案(2种)l
线
程的生命周期l
线
程的调度l
线
程的控制l 多
线
程的相关练习(卖票)
多
线
程能否加快处理
速度
问:多
线
程是不是能加快处理
速度
? 解析: 在使用多
线
程时,一定要知道一个道理:处理
速度
的最终决定因素是CPU、内存等,在单CPU(无论多少核)上,分配CPU资源的单位是“进程”而不是“
线
程”。 我们可以做一个简单的试验 假设我要拷贝100万条数据,单CPU电脑,用一个进程,在单
线
程的情况下,CPU占用率为5%,耗时1000秒。那么当在这个进程下,开辟10个
线
程同时去
运行
,是不是CPU占用率...
单核CPU使用多
线
程能否
提高
效率?
首先在回答这个问题前要明白几个概念: ①:什么是
线
程上下文切换 ②:什么是CPU时间片 明白这两个概念后,我们再说答案(能/不能) 一,如果是CPU密集型作业,------不能 假设一段耗时总共为10s的代码(不涉及io操作),使用单
线
程执行,只需要10s的时间,当使用多
线
程执行时,就会涉及到
线
程的上下文切换,这时耗时肯定会超过10s的,所以这种情况下不能
提高
效率。 二,如果是IO密集型的作业,----能 同理,一段代码(
线
程使用CPU执行2s的运...
Python多
线
程-手慢无的真相
我们常说的「手慢无」其实类似多
线
程同时竞争一个共享资源的结果,要保证结果的唯一正确性,而这让我们从
线
程(Python)慢慢说起……
使用
线
程池
提高
多
线
程
程序
的性能
同时,要注意合理设计任务的拆分和并行度,避免任务之间的依赖和资源竞争,以充分利用
线
程池的优势。4.
线
程管理和调度:
线
程池可以自动管理
线
程的生命周期,并根据需要动态调整
线
程数量。当
线
程池中的
线
程空闲时,可以从任务队列中获取任务并执行,避免任务丢失或无限制的等待。使用
线
程池可以
提高
多
线
程
程序
的性能和效率,避免创建和销毁
线
程的开销,并优化
线
程的调度和资源管理。2. 控制并发数:
线
程池可以控制并发执行的
线
程数量。通过设置
线
程池的核心
线
程数和最大
线
程数,可以控制同时执行的任务数,避免系统资源过度占用。
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章