今年上半年做项目时遇到了一个问题,就是系统在运行的过程中,点击程序到显示画面,另外一个线程接收到信息需要将画面的局部进行更新。考虑到是跨线程的操作,直接处理的话就会出现错误。因此使用消息的方式来处理,问题得到了解决。现在将示例代码贴出来演示下:
//自定义消息
public const int USER = 0x500;
public const int MYMESSAGE = USER + 1;
///重写窗体的消息处理函数DefWndProc,从中加入自己定义消息 MYMESSAGE 的检测的处理入口
protected override void DefWndProc(ref Message m)
{
switch (m.Msg)
{
//接收自定义消息MYMESSAGE
case MYMESSAGE:
{
lb1.Enabled = true;
lb1.Visible = true;
}
break;
default:
base.DefWndProc(ref m);
break;
}
}
//供其它线程调用的方法
public void CallProcess()
{
//other process
//抛出消息进行跨线程的处理
Win32API.PostMessage(this.Handle, MYMESSAGE, "", "");
}
分享到:
相关推荐
线程与消息处理
一个基于C#开发的多线程处理程序源代码,该例子程序代码采用VS2005+C#开发,可以进行多线程进行后台运算程序的同步处理。
本程序提供了一个多任务多线程异步处理框架。该框架使用简单,用户只需要继承抽象类Task,构建自己的任务类,再构造一个任务源,就可以轻松使用这个框架。 程序包里提供了一个例子Mytask 和MyTaskGenerator, 用户只...
1.资源简介:PyQt5中使用多线程模块QThread解决了PyQt5界面程序执行比较耗时操作时,程序卡顿出现的无响应以及界面输出无法实时显示的问题,采用线程池ThreadPoolExecutor解决了ping多个IP多任务耗时问题。...
那么完全可以将整副图像分成若干块,比如cpu为4核处理器,那么可以分成4块,每块图像大小为1000*200,这样程序可以创建4个线程,每个处理器执行一个线程,每个线程处理一个图像块。更多内容请参考:...
基于C#的多线程程序处理源码,采用C#+VS2005开发,实现复杂的多线程处理技术的应用扩展例子代码。
看到很多朋友在寻求多线程网络传输代码,为此,从我开发的网络棋牌游戏中整理出这个献给大家:) 开发环境:Delphi7.0+WinXP,没用其他控件(除了Delphi自带的Indy) 使用协议:TCP/IP 客户端一次发送65000字节的包,...
使用多线程接受消息和发送消息分开的思想,保证了程序内置自动消息处理过程,做到消息可靠高并发的效果
Linux 多线程应用中如何编写安全的信号处理函数
多线程程序包含两条或两条以上并发运行的部分,把程序中每个这样的部分都叫作一个线程(thread)。每个线程都有独立的执行路径,因此多线程是多任务处理的一种特殊形式。 多任务处理被所有的现代操作系统所支持...
c# window服务多线程实例
多线程(英语:multithreading),是指从软件或者硬件...在一个程序中,这些独立运行的程序片段叫作“线程”(Thread),利用它编程的概念就叫作“多线程处理(Multithreading)”。这里提供简单的多线程例程便于移植。
多线程处理是创建可以响应的智能客户端应用程序的重要部分,本文整理、概括与梳理了NET多线程处理的知识,主要包含:1)同步和异步调用之间的选择;2)前台线程和后台线程之间的选择;3)处理锁定和同步;4)何时使用...
第1章介绍了用于构建面向对象程序的不同类型C++组件,以及如何使用这些组件来构建多线程架构。第2、3、4章简要介绍进程、线程、多任务处理、多线程化、规划以及线程优先权的概念。第5章讨论进程间和线程间通信。第6...
多线程是一种提高程序运行效率和性能的常用技术。 随着我们学习工作的深入,在编程中或多或少会涉及到 需要多线程的情况。多数时候,我们的操作模式是后台 线程中处理数据,计算结果,然后在前台界面(GUI) 中更新...
使用python多线程异步提高模型部署到rk3588NPU使用率_python源码+项目使用说明.zip 【项目资源说明】 使用多线程异步操作rknn模型, 提高rk3588/rk3588s的NPU使用率, 进而提高推理帧数(rk3568之类修改后应该也能使用,...
C写的SOCKET写的服务端程序 多线程处理客户端请求 C写的SOCKET写的服务端程序 多线程处理客户端请求 C写的SOCKET写的服务端程序 多线程处理客户端请求
简单、使用的一个多线程开发的例子,里面包含了创建线程、开启线程、线程函数处理、关闭线程等基本的代码。
C#.NET多线程实例25个,文档6篇
Phase Termination——快把玩具收拾好,去睡觉吧 第11章 Thread-Specific Storage——每个线程的保管箱 第12章 Active Object——接受异步消息的主动对象 总结 多线程程序设计的模式语言 附录A 练习问题的解答 附录B...