文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > 高等教育 > 工学 > 外部中止线程
侵权投诉

外部中止线程

VC++ MFC 系统编程技巧

外部中止线程

问:我有一个对话框,里面显示了一系列在一目录中可用的文件,我想当目录的 内容有所 变化时,对话框也能发生相应的变化,这需要从别的线程实现这个要 求,但怎样才能使该 线程能在对话框退出时同时关闭?

答:你可以做下面的一件事情就可以实现.

-在对话框中调用TerminateThread(handle, exitcode). -使用信号量,当你 想关闭线程时只需检查该标志罢了. -在线程中使用消息循环,然后从对话框 调用PostThreadMessage 2)谢谢大家的回复,在大家的帮助下我的问题 已经解决了,现写出来给大家作参考. 问题是有一个对话框,里面显示了一 系列在一目录中可用的文件,我想当目录的内容有所 变化时,对话框也能发 生相应的变化.其实用一个新线程以及使用WaitForSingleObject() 循环就 可以了.但似乎不容易在退出对话框时中止线程,解决方法包括建立一个私 有事件 用WaitForMultipleObjects()等待.具体如下

BOOL CLocalNotes::OnInitDialog()

{

Cdialog::OnInitDialog();

Cstringeventname; // Generate a unique event name eventname.Format("Viewer %x", &eventname);

m_FinishedHandle = CreateEvent(NULL, false, false, eventname); m_WatcherThread = AfxBeginThread(FileWatcher, this,

THREAD_PRIORITY_NORMAL,

0, CREATE_SUSPENDED, NULL);

m_NotifyHandle=::FindFirstChangeNotification(m_PatDir, false,

FILE_NOTIFY_CHANGE_FILE_NAME | FILE_NOTIFY_CHANGE_DIR_NAME); m_WatcherThread->ResumeThread();

RefreshList(); // Generate the list of files

return TRUE;

}

....

Static UINT FileWatcher(LPVOID TheNote)

{

CLocalNotes *OurNote = (CLocalNotes*)TheNote;

HANDLE handle[2];

handle[0]=OurNote->NotifyHandle();

handle[1]=OurNote->FinishedHandle();

第1页

热门文档

相关文档

  • 终止线程两个函数

    终止线程两个函数:ExitThread 和 TerminateThread 1 若要终止线程的运行,可以使用下面四种的方法: 线程函数退出循环来返回 (最佳方法 )。 通过调用 ExitThread 函数,...

  • 线程终止

    线程终止_计算机软件及应用_IT/计算机_专业资料。线程终止线程终止方式 一般来说,Posix 的线程终止有两种情况:正常终止和非正常终止。 线程主动调用 pthread_exit()...

  • C#如何创建和终止线程

    C#如何创建和终止线程_IT/计算机_专业资料。C#如何创建和终止线程C# 如何:创建和终止线程(C# 编程指南)此示例演示如何创建辅助线程,并用它与主线程并行执行处理。...

  • Linux下线程的终止操作

    void *restrict arg 2.终止线程 2.终止线程 void pthread_exit(void *status); 本函数可用来终止调 用线程。将释放调用线程所有特定数据绑定 。如果调用线程 用...

  • 当线程处于非运行如何中止

    关键词:线程thread中止 1/2 相关文档推荐 外部中止线程 2页 免费 3.2.3+... 当线程处于非运行( 当线程处于非运行(Run)状态 ) 当线程处于下面的状况时,...

  • 线程的退出与其相关资源的释放

    线程资源的释放方法: 1.外部线程 WaitForSingleObject,发现线程中止运行后,释放线程相关的资源。 如: void main() { CThread thread; //一个自己定义的线程封装类...

  • 终止一个线程的方法

    终止一个线程的方法_计算机软件及应用_IT/计算机_专业资料。thread java...而假如我们从外部传入数据,比如 1. 2. 3. 4. 5. 6. 7. 8. class T ...

  • 关于线程的参数、“返回值”、及线程的中止

    关于线程的参数(2.0),"返回值",及线程的中止 1.线程的参数: 有时候会想向辅助线程传递些信息,这里需要用到 ParameterizedThreadStart 委托 示例: private void ...

  • 什么是线程

    ·中止线程: 如果需要中止线程可以使用如下的代码: DummyPriorityThread.Abort(); ·同步 经常我们会遇到需要在线程间进行同步的情况,下面的代码给出了一些方法: using...

  • JAVA强制终止线程

    JAVA强制终止线程_计算机软件及应用_IT/计算机_专业资料 暂无评价

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email