社区
嵌入开发(WinCE)
帖子详情
多个线程可以共用一个handle来读一个串口吗?
laiyuliang
2010-03-31 12:27:23
还有如果多个线程写一个串口呢?需不需要显式同步,谢谢大家!
...全文
155
6
打赏
收藏
多个线程可以共用一个handle来读一个串口吗?
还有如果多个线程写一个串口呢?需不需要显式同步,谢谢大家!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
laiyuliang
2010-03-31
打赏
举报
回复
如果多个线程同时用readfile等待在一个com上,会怎样呢?
大海雪山
2010-03-31
打赏
举报
回复
[Quote=引用 3 楼 laiyuliang 的回复:]
如果多个线程同时用readfile等待在一个com上,会怎样呢?
[/Quote]
对于winCE来讲,某个时刻只有一个线程占有cpu。这样的话,多个线程同时等待同一个串口事件,
最终只会是最先得到响应的那个线程收到数据。
楼主试试,看看结果是不是这样的。
domworldjohn
2010-03-31
打赏
举报
回复
[Quote=引用 2 楼 91program 的回复:]
最好的做法,一个线程操作串口,其它线程分享它的操作数据
[/Quote]
正解,不需要多个线程去访问串口,免得麻烦
91program
2010-03-31
打赏
举报
回复
最好的做法,一个线程操作串口,其它线程分享它的操作数据
toborac
2010-03-31
打赏
举报
回复
需要同步
不同步的话 看你的实际情况 一般也行 但是不可靠 既然想到了 就加同步吧 除非只是临时试验
sunrain_hjb
2010-03-31
打赏
举报
回复
楼主也可以考虑使用虚拟串口的方法,
将一个物理串口虚拟成几个虚拟串口。
VC++多
线程
中
线程
之间的通信问题研究
当前流行的Windows操作系统能同时运行几个程序(独立运行的程序又称之为进程),对于同
一个
程序,它又可以分成若干个独立的执行流,我们称之为
线程
,
线程
提供了多任务处理的能力。用进程和
线程
的观点来研究软件是当今普遍采用的方法,进程和
线程
的概念的出现,对提高软件的并行性有着重要的意义。现在的大型应用软件无一不是多
线程
多任务处理,单
线程
的软件是不可想象的。因此掌握多
线程
多任务设计方法对每个程序员都是必需
【Medium Python】第三话:python多
线程
为什么不能并行?
python的多
线程
,这是个老生常谈的话题了,网上资料也一大把。python默认的threading模块对多
线程
提供了支持,但实际
多个
threading.Thread实例无法并行运行(不是无法并发哦!)。 一句话概括答案:python的
线程
实质是操作系统原生的
线程
,而每个
线程
要执行python代码的话,需要获得对应代码解释器的锁GIL。一般我们运行python程序都只有
一个
解释器,这样不同
线程
需要获得同
一个
锁才能执行各自的代码,互斥了,于是代码就不能同时运行了。 好的,接下来我们细细讲解这句话背后的
线程
,进程,协程
线程
进程 协程 一 什么是
线程
在传统操作系统中,每个进程有
一个
地址空间,而且默认就有
一个
控制
线程
多
线程
(即
多个
控制
线程
)的概念是,在
一个
进程中存在
多个
控制
线程
,
多个
控制
线程
共享该进程的地址空间,相当于
一个
车间内有多条流水线,都
共用
一个
车间的资源。 例如,北京地铁与上海地铁是不同的进程,而北京地铁里的13号线是
一个
线程
,北京地铁所有的线路共享北京地铁所有的资...
线程
和锁原理
1.
线程
是进程代码段的一次顺序执行流程,
一个
进程由
一个
或
多个
线程
组成,
一个
进程至少有
一个
线程
2.
线程
是CPU调度的最小单位,进程是操作系统分配资源的最小单位 3.
线程
是基于高并发的调度诉求从进程内部演进而来的,
线程
的出现既充分发挥了CPU的计算性能,又弥补了进程调度过于笨重的问题 4.进程之间是相互独立的,但进程内部的各个
线程
之间并不完全独立,各个
线程
之间共享进程的方法区内存,堆内存,系统资源(文件句柄,系统信号等) 5.切换速度不同:
线程
上下文切换比进程上下文切换要快
Java 并发编程解析 | 如何正确理解Java领域中的多
线程
模型,主要用来解决什么问题?
Java领域中的
线程
主要分为Java层
线程
(Java Thread) ,JVM层
线程
(JVM Thread),操作系统层
线程
(Kernel Thread)。对于Java领域中,从一定程度上来说,由于Java程序并不直接运行在Linux系统上,而是运行在JVM(Java 虚拟机)上,而
一个
JVM实例是
一个
Linux进程,每
一个
JVM都是
一个
独立的“沙盒”,JVM之间相互独立,互不通信。......
嵌入开发(WinCE)
19,500
社区成员
41,567
社区内容
发帖
与我相关
我的任务
嵌入开发(WinCE)
硬件/嵌入开发 嵌入开发(WinCE)
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 嵌入开发(WinCE)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章