首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

在多线程编程中,怎样在子线程中向其他子线程发送消息?解决方法

2012-02-02 
在多线程编程中,怎样在子线程中向其他子线程发送消息?谢谢,包括向子线程本身发送消息![解决办法]自定义几

在多线程编程中,怎样在子线程中向其他子线程发送消息?
谢谢,包括向子线程本身发送消息!

[解决办法]
自定义几个消息,在线程中设定对消息的处理。
创建线程的时候将其他线程的Handle最为指针或者变量传入

SendMessage( ThreadHandle, WM_MYMESSAGE_XMLDOWNLOAD_FAILE, NULL, NULL); // 发送消息
[解决办法]
线程本来就是在使用时不影响前台操作,,不知道楼主还要怎么样....
[解决办法]
Yield适当让出cpu
[解决办法]
PostThreadMessage();
[解决办法]
Answer to:后台有个非常费时的操作,用多线程怎么实现呢?

File-> New-> Object 选择Thread Object,弹出窗口中class name假设为MyThread。
系统增加一个Unit1.cpp里面已经有部分代码。
在MyThread::Execute()中写你要在后台进行的工作即可。

// 前台能够对线程进行的操作:
MyThread *pthread = new MyThread(true); // 创建线程并挂起
pthread-> Resume(); // 激活线程
pthread-> Suspend(); // 挂起线程

// 后台运行的代码
void __fastcall MyThread::Execute()
{
while(1)
{
Sychronize(UpdateFront);
}
}

// 自己定义的函数
void __fastcall UpdateFront()
{
// 在这里完成后台任务或者对前台的一些东西进行操作
}

热点排行