社区
C#
帖子详情
关于多线程的简单问题...
cygroup
2003-09-05 09:53:25
我有一主线程,其中有个函数Func1比较费时,我想在该函数执行期间显示一个带有进度条的对话框,在Func1开始执行时显示,在它执行完毕后关闭,运用线程技术实现较好的效果要如何编写代码?另外无法预测Func1的执行时间,进度条的步长、显示时间要如何处理?多谢帮忙!
...全文
80
4
打赏
收藏
关于多线程的简单问题...
我有一主线程,其中有个函数Func1比较费时,我想在该函数执行期间显示一个带有进度条的对话框,在Func1开始执行时显示,在它执行完毕后关闭,运用线程技术实现较好的效果要如何编写代码?另外无法预测Func1的执行时间,进度条的步长、显示时间要如何处理?多谢帮忙!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
Knight94
2003-09-05
打赏
举报
回复
基本同意dwg_cn(温暖的左手)的做法,但是在Func1中不能直接控制进度条,需要用MethodInvoker来做。
dwg_cn
2003-09-05
打赏
举报
回复
System.Threading.Thread t=new System.Threading.Thread(new System.Threading.ThreadStart(Funcl));
t.Start();
在函数Funcl中按常规处理进度条就行了.注意Funcl()函数不可以带参数
91bct
2003-09-05
打赏
举报
回复
up
cygroup
2003-09-05
打赏
举报
回复
实际上我自己已经解决了,要用到两个子线程,主线程按顺序:启动子线程ThreadFunc1(该子线程执行Func1)--显示带有进度条的对话框(dialog.ShowDialog),在该对话框中再启动另一子线程ThreadProgress(该子线程执行一处理进度条的函数,函数中用一循环逐步增加进度条的值,当然其中还加入了一定的延迟,否则ThreadFunc1还未返回进度条就走完了全程).
在Func1执行完以后,ThreadFunc1会通知dialog,dialog进而终止其子线程ThreadProgress,并将进度条剩余的值增加完,在用户看来,进度条的前大半段是逐步增加的,到最后有一小段是飞快第"跑"到底的.
上述方法看上去有些复杂,但可能必须这样,因为在处理进度条时,牵涉到一个dialog自己不知道什么时候要终止的while循环(必须靠ThreadFunc1来通知它终止),而该循环会一直占用CPU时间,这样其他线程就没机会执行了,所以要把它在放入另一线程内.
wpf下
多线程
的例子
wpf下
多线程
的例子
多线程
java.util.ConcurrentModificationException异常
问题
分析和处理
多线程
java.util.ConcurrentModificationException异常
问题
分析和处理 在Java中,
多线程
和Map使使用频率最高的两兄弟了,今天突然被刚入职不久的同事问到,
多线程
处理Map时会偶尔报异常,直接看代码 import java.util.Collections; import java.util.HashMap; import java.util.Hashtable; import java.util.Map; import java.util.concurrent.*;
多线程
压缩tar.xz
compression - Create a tar.xz in one command - Stack Overflow
python
多线程
与多进程
最近做项目的时候因为要对大批量的数据进行处理,所以立马想到的是用
多线程
/多进程进行加速处理,但是python中
多线程
和多进程还是有一些区别,因此使用的场景也有所不同。
多线程
与多进程的区别 记得教科书上一句经典的对
多线程
和多进程的介绍:”进程是资源分配的最小单位,线程是cpu调度的最小单位“。
简单
说来就是,
多线程
共享内存,内存占用少,cpu调度
简单
,cpu利用率高;多进程每个进程独享内存,内存占用高,cpu调度复杂,cpu利用率低。了解了这些,如果是使用过c++或者java的程序员会很好的根据场景选择多
python
多线程
与多进程编程(一) 就这么
简单
GIL?GIL的全称为Global Interpreter Lock, 全局解释器锁。Python代码的执行由Python 虚拟机(也叫解释器主循环,CPython版本)来控制,Python 在设计之初就考虑到要在解释器的主循环中,同时只有一个线程在执行,即在任意时刻,只有一个线程在解释器中运行。对Python 虚拟机的访问由全局解释器锁(GIL)来控制,正是这个锁能保证同一时刻只有一个线程在运行。也就是说并没有正真的
多线程
.....
C#
111,120
社区成员
642,545
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章