在多线程编程中,怎样在子线程中向其他子线程发送消息?
谢谢,包括向子线程本身发送消息!
[解决办法]
自定义几个消息,在线程中设定对消息的处理。
创建线程的时候将其他线程的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()
{
// 在这里完成后台任务或者对前台的一些东西进行操作
}