社区
进程/线程/DLL
帖子详情
一个关于终止线程的问题,请帮帮忙
zxq2003tt
2005-05-12 11:27:04
我用多线程实现了后台计算和界面的进度条显示
我想让进度条上的取消按钮终止计算线程,该如何实现????
这个是我在View类下的线程函数:
UINT CFVTVSimulatorView::ThreadMakeSparseEpi(LPVOID lpParam)
{
return ((CFVTVSimulatorView*)lpParam)->GlobalMakeEPI();
}
...全文
84
6
打赏
收藏
一个关于终止线程的问题,请帮帮忙
我用多线程实现了后台计算和界面的进度条显示 我想让进度条上的取消按钮终止计算线程,该如何实现???? 这个是我在View类下的线程函数: UINT CFVTVSimulatorView::ThreadMakeSparseEpi(LPVOID lpParam) { return ((CFVTVSimulatorView*)lpParam)->GlobalMakeEPI(); }
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zxq2003tt
2005-05-12
打赏
举报
回复
我上面的方法不知道错在哪里,郁闷……
楼上说的event对象不会用啊
能说具体一点么
gzl
2005-05-12
打赏
举报
回复
使用event对象实现同步比较好。但你在等待这个线程中最好改造(自写一个函数,简单封一下WaitForSingleObject函数,或是其它的你用的WaitForXXXXXX函数),不要让它阻塞了窗口消息。
zxq2003tt
2005-05-12
打赏
举报
回复
取消按钮的消息处理函数在进度对话框类中,怎么让他能够终止view类里面 的线程???
我的方法是在OnCancel消息处理函数添加发消息给CFVTVSimulatorView的代码
void CProgressDlg::OnCancel()
{
CWnd* pwnd;
pwnd=GetParent();//进度对话框的创建是在CFVTVSimulatorView类
//用Create(IDD_PROGRESS, this)创建的;所以这里我这样做,不知对不对
::PostMessage(pwnd->m_hWnd,WM_CANCEL,0,0);
CDialog::OnCancel();
}
在CFVTVSimulatorView类里面添加下面 的函数,来接收CProgressDlg类发来的终止命令消息:
LRESULT CFVTVSimulatorView::OnCancelProcess(WPARAM wParam,LPARAM lParam)
{
if(m_pThread)
{
DWORD lpexitcode=0;
TerminateThread(m_pThread,lpexitcode);
m_pThread=NULL;
}
return 0;
}
CodeProject-Jerry
2005-05-12
打赏
举报
回复
WINBASEAPI BOOL WINAPI TerminateThread ( HANDLE hThread, DWORD dwExitCode )
dongfa
2005-05-12
打赏
举报
回复
可以增加一个BOOL标志,假如:BOOL m_bStop = FALSE;
当点取消时设置m_bStop = TRUE;
在GlobalMakeEPI中判断m_bStop 是否为TRUE, 如果为TRUE就退出.
如果GlobalMakeEPI没办法循环检测m_bStop 就不行了.
只能强制终止线程了:TerminateThread
zxq2003tt
2005-05-12
打赏
举报
回复
up
C# 多
线程
详细讲解
一个
正在运行的应用程序在操作系统中被视为
一个
进程,进程可以包括
一个
或多个
线程
。
线程
是操作系统分配处理器时间的基本单元,在进程中可以有多个
线程
同时执行代码。进程之间是相对独立的,
一个
进程无法访问另
一个
...
搞定Java多
线程
:多
线程
面试
问题
梳理
比如,如果
一个
线程
完成
一个
任务要100毫秒,那么用十个
线程
完成改任务只需10毫秒。Java多
线程
充分发挥了计算机多核CPU的优势。 2、
线程
和进程有什么区别?
线程
是进程的子集,
一个
进程可以有很多
线程
,每条
线程
...
多
线程
及
线程
池的实现
进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,
一个
进程包含1–n个
线程
。(进程是资源分配的最小单位)
线程
:同一类
线程
共享代码和数据空间,每个
线程
有独立的运行栈和程序...
对Linux
线程
的理解(什么是
线程
,
线程
的创建
终止
等待分离,
线程
互斥,Linux常见的锁,
线程
同步),两万字总结,有这一篇文章就够了!
什么是
线程
,
线程
的创建、
终止
、等待、分离,
线程
互斥,Linux常见的锁,
线程
同步
多
线程
理解
多
线程
进程/线程/DLL
15,471
社区成员
49,182
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章