- 型号:0010-20130
- 数量:3
- 制造商: 厦门兴锐达自动化设备有限公司
- 有效期:2019/6/20 0:00:00
AMAT 0010-20130
AMAT 0010-20130
AMAT 0010-20130
多线程技术及在VC++串口通信程序中的实现
在Windows的一个进程内,包含一个或多个线程,每个线程共享所有的进程资源,包括打开的文件、信号标识及动态分配的内存等等。
一个进程内的所有线程使用同一个32位地址空间,而这些线程的执行由系统调度程序控制,调度程序决定哪个线程可执行和什么时候执行线程。线程有优先级别,优先权较低的线程必须等到优先权较高的线程执行完任务后再执行。在多处理器的机器上,调度程序可以把多个线程放到不同的处理器上运行,这样可以使处理器的任务平衡,也提高系统的运行效率。
Windows内部的抢先调度程序在活动的线程之间分配CPU时间,Windows区分两种不同类型的线程,一种是用户界面线程(UserInterfaceThread),它包含消息循环或消息泵,用于处理接收到的消息;另一种是工作线程(WorkThread)它没有消息循环,用于执行后台任务、监视串口事件的线程即为工作线程。
本系统采用MFC编程方法,MFC是把串口作为文件设备来处理的,它用CreateFile()打开串口,并获得一个串口句柄,用SetCommState()进行端口配置,包括缓冲区设置,超时设置和数据格式等。然后调用函数ReadFile()和WriteFile()进行数据的读写,用WaitForSingleObject()监视通信事件。在用ReadFile()和WriteFile()读写串口时,一般采用重叠方式。因为同步I/O方式是当程序执行完毕才返回,这样会阻塞其他线程,降低程序执行效率。而重叠方式能使调用的函数立即返回,I/O操作在后台进行,这样线程就可以处理其他事务,同时也实现了线程在同一串口句柄上实现读写操作。
AMAT 0010-19026
AMAT 3870-03804
AMAT 0010-C2622
AMAT 3620-01124
AMAT 3620-01124
AMAT 0010-22223
AMAT 0010-20351
AMAT 0190-44340
AMAT 0040-82516
AMAT 9090-01095
AMAT 50422100000 /SGS PS
AMAT 0010-13627
AMAT 0200-00175 /DOME
AMAT 0040-48339
AMAT 0040-32207
AMAT 0010-36114
AMAT 0040-31813
AMAT 0242-37433
AMAT 0010-40256
AMAT 0020-84649
AMAT 0020-39360
AMAT 0190-77284
AMAT 0040-18053
AMAT 0150-35567
AMAT 0040-32530
AMAT 0010-29418
AMAT 0190-76028
AMAT 0010-76402
AMAT 9090-01095
AMAT 0100-01815
- 电话:0592-5580706/13295922579
- 传真:0592-5361191
- email:LJY_05228@163.com
上一篇:AMAT 0150-75205
下一篇:AMAT 0010-a7810
手机扫描二维码分享本页
工控宝APP下载安装
工控速派APP下载安装
评价: | 一般 | ||