社区
进程/线程/DLL
帖子详情
大家帮忙啊,线程通信的问题,读名命名管道被阻塞以后...
bluemiles
2003-08-08 03:42:40
老板突发奇想,要把原来linux下的多线程程序移植到Windows下,指明要用VC做,这可苦了小弟我了。
我利用Windows命名管道进行线程通信,文档类的一个成员函数在无穷循环里ReadFile读取命名管道里的消息。这样的结果是该函数不可避免的要阻塞,问题就是,这个函数阻塞的时候,用户界面无法相应任何事件,调用view::onupdate以后窗口没有一点反应
各位大哥大姐,请问我应该怎么办才好呢??
帮忙阿~~~~
...全文
64
6
打赏
收藏
大家帮忙啊,线程通信的问题,读名命名管道被阻塞以后...
老板突发奇想,要把原来linux下的多线程程序移植到Windows下,指明要用VC做,这可苦了小弟我了。 我利用Windows命名管道进行线程通信,文档类的一个成员函数在无穷循环里ReadFile读取命名管道里的消息。这样的结果是该函数不可避免的要阻塞,问题就是,这个函数阻塞的时候,用户界面无法相应任何事件,调用view::onupdate以后窗口没有一点反应 各位大哥大姐,请问我应该怎么办才好呢?? 帮忙阿~~~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
bluemiles
2003-08-26
打赏
举报
回复
overlapped?
确实有这样的设计方式,但是我不想写事件处理
现在使用了一个新的线程来处理,这样主线程就不会堵
不过根据msdn,还有一个方法,就是所谓的blocking hook,不知道是什么。msdn不是很推荐这个方法,推荐的是另开线程。
yinzhaohui
2003-08-26
打赏
举报
回复
1.使用异步
2.使用多线程
bluestar
2003-08-15
打赏
举报
回复
你用重叠IO异步方式读,调用ReadFile立即返回,读完后由Event通知你。
要么就是开线程只赌线程,不堵主线程。
mfc168
2003-08-15
打赏
举报
回复
gz
bluemiles
2003-08-15
打赏
举报
回复
o
cwanter
2003-08-08
打赏
举报
回复
那就建一个线程读~
多
线程
命名
管道
通信
的设计
多
线程
命名
管道
通信
的设计:
命名
管道
是进程间
通信
的一种方式,
管道
分为2种:匿名
管道
(Anonymous Pipe)和
命名
管道
(Named Pipe)。这里主要介绍多
线程
命名
管道
。 服务端设计如下图: 客户端设计如下图: 服务端采用
阻塞
模式等待客户端的连接,客户端采用多个
线程
对
管道
进行数据读写。因客户端采用多个
线程
对
管道
进行读写,故一个
线程
读取的数据可能并不是此
线程
写入数据后,...
命名
管道
的
阻塞
和非
阻塞
模式的初步探讨
前言 进程间
通信
(IPC, InterProcess Communication)是指在不同进程之间传播或交换信息。主要的方式有
管道
(包括无名
管道
,高级
管道
和
命名
管道
),消息队列, 信号量, 共享内存, Socket等。 其中Socket可以用于不同主机上的进程间
通信
。进程
通信
的主要目的如下: 数据传输:一个进程需要将它的数据发送给另一...
linux
命名
管道
c语言 不同进程,进程间
通信
-
命名
管道
实现
命名
管道
概述
命名
管道
是通过网络来完成进程之间的
通信
的,
命名
管道
依赖于底层网络接口,其中包括有 DNS 服务,TCP/IP 协议等等机制,但是其屏蔽了底层的网络协议细节,对于匿名
管道
而言,其只能实现在父进程和子进程之间进行
通信
,而对于
命名
管道
而言,其不仅可以在本地机器上实现两个进程之间的
通信
,还可以跨越网络实现两个进程之间的
通信
。
命名
管道
使用了 Windows 安全机制,因而
命名
管道
的服务端可以控制...
linux+多
线程
管道
,Linux 多
线程
同步之
命名
管道
命名
管道
(FIFO)既可用于进程间
通信
,也可用于
线程
间
通信
;FIFO是一种文件类型,一般文件I/O函数(close,read,write,unlink等)都适用于FIFO一、
管道
创建:#includeint mkfifo( const char* pathname, mode_t mode );//成功返回0;否则返回-1//mode为读写文件| 是否
阻塞
二、
管道
默认读写——
阻塞
a.
管道
读取:...
Windows/Linux平台下
命名
管道
通信
调用参考
在一些需要传递少量数据的进程
通信
业务中,采用
命名
管道
通信
是一种不错的选择,但是
管道
通信
本身是不跨平台的。如果我们想在不同的平台下使用
管道
通信
就会很麻烦。这里我简单的总结了一下
命名
管道
在windows平台和Linux平台下的使用方法,希望对各位有所帮助。实现的比较简陋,大家可以根据自己的具体业务进行优化封装。 Windows平台
管道
通信
实现 1.服务端创建
管道
命名
管道
通信
的服务端需要开辟一个
线程
,在
线程
里服务端创建
命名
管道
,然后连接
命名
管道
。通过
管道
服务端可以接收客户端发送过来的消息,也可以向客户端发
进程/线程/DLL
15,471
社区成员
49,181
社区内容
发帖
与我相关
我的任务
进程/线程/DLL
VC/MFC 进程/线程/DLL
复制链接
扫一扫
分享
社区描述
VC/MFC 进程/线程/DLL
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章