社区
Linux/Unix社区
帖子详情
请教多线程之间通信问题
greathawk
2003-10-17 12:53:46
我现在设计的多线程之间是用消息队列通信的(这种方法可能不好,好的方法是什么?)
我设计了一个专门处理消息的线程,分发消息到各个线程。结果发现,程序有时候会运行很长时间后,系统不发送和接收稍息了。感觉要重启才行。
我想是不是因为有些消息发出去后,接受消息的线程却被关掉了,所以这条消息没有被接收,积累到一定程度就满了。
想知道如何解决这个问题,有什么好的进行线程间通讯的办法没有,这个程序,线程间交换数据很频繁。
...全文
80
9
打赏
收藏
请教多线程之间通信问题
我现在设计的多线程之间是用消息队列通信的(这种方法可能不好,好的方法是什么?) 我设计了一个专门处理消息的线程,分发消息到各个线程。结果发现,程序有时候会运行很长时间后,系统不发送和接收稍息了。感觉要重启才行。 我想是不是因为有些消息发出去后,接受消息的线程却被关掉了,所以这条消息没有被接收,积累到一定程度就满了。 想知道如何解决这个问题,有什么好的进行线程间通讯的办法没有,这个程序,线程间交换数据很频繁。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
dchg2000
2003-10-31
打赏
举报
回复
你用ipcs看看是什么原应不就结了,
多线程不一定要用IPC机制吧!
实用、简单!
hecCIBN
2003-10-31
打赏
举报
回复
up
liao2001
2003-10-30
打赏
举报
回复
补充:
多进程之间的线程交互,才有必要考虑ipc,那种ipc更适合,那只能看需求了
liao2001
2003-10-30
打赏
举报
回复
!楼上一堆人
多进程用ipc,多线程也可以用,但:
多线程可以用全局缓冲区,优势都不知道利用,还用消息队列,图耗系统资源
用互次解决同步问题
这样一来,问题就好办多了。。。
能够消息队列满,只能说明程序设计的不够,至于频繁交换,全局变量当然会比系统调用快得多
tangzhg
2003-10-30
打赏
举报
回复
菜鸟说,大家 好
smokefire
2003-10-29
打赏
举报
回复
消息队列满
CLIZ
2003-10-29
打赏
举报
回复
IPC的方法很多,pipe,fifo,shm,都是可以的。
yiyi999999999
2003-10-28
打赏
举报
回复
可能是因为你的消息队列已经满了,所以导致程序无法正常运行。你可以用管道,信号或共享内存来实现多进程之间的通信。
ari
2003-10-17
打赏
举报
回复
线程间通讯,建议用匿名管道比较好一点.简单实用.
结果发现,程序有时候会运行很长时间后,系统不发送和接收稍息了。感觉要重启才行。
^^^^^^^^^^^^^^^^^
大概因为消息队列已经满了造成的.可以判断一下.
JAVA网络(单机也可)聊天室加报告
随着大众化、小型化趋势的加剧,网络聊天在当今已经不算新鲜事物,聊天室可以更好的方便大家交流,
请教
或探讨
问题
,同时也能开阔视野。但大多数网络聊天都需要借助位于Internet的服务器,这就给那些具有大规模内部网络的用户造成了不便,出于安全等考虑,通常这些内部网络不能直接连接到Internet。我设计的聊天室,提供了类似于常见聊天室的功能,同时可以在局域网内部使用,只需稍加改进,便可以应用于架设企业内部的聊天室,方便员工
之间
的沟通。 本聊天室系统,主要利用DELPHI用于底层网络
通信
Socket组件,使用了
多线程
技术。
Java
多线程
— —线程 虚假唤醒
问题
剖析
好久没写博客,最近在学习过程中遇到一个拦路虎:
多线程
通信
中的虚假唤醒导致数据不一致的
问题
, 看了很多资料,也去一些博主文章下
请教
, 发现大家的解释都没理解到点子上, 都是在最关键的地方囫囵吞枣地一句带过, 这让人很沮丧, 遂写此文, 自我记录, 有需沟通可留言。 1、什么是虚假唤醒? 虚假唤醒就是在
多线程
执行过程中,线程间的
通信
未按照我们幻想的顺序唤醒,故出现数据不一致等不符合我们预期的...
JAVA
多线程
精讲下
本课程是《零基础学Java》系列课程中的
多线程
相关课程.授课形式延续了之前课程的授课风格。内容细腻、详尽,由浅入深!通过本门课程的学习你可以深刻理解Java
多线程
的原理及实现运行机制,深刻学习
多线程
的生命周期、调度、控制等内容。
多线程
精讲下课程内容涵盖如下:l 线程的同步(线程安全
问题
)l 线程的死锁l 线程间
通信
l 线程组l 线程池l
多线程
的第三种实现方案l 匿名内部类方式使用
多线程
l 定时器的使用l
多线程
面试题
多线程
的
问题
和一些学习感悟
写一个小软件的时候碰到了一个
问题
。有一串很耗时的函数需要处理。基本流程如下: private void Sample() { aMethodNeedLongTime();//一个很耗时的计算函数 aMethodNeddLongTimeRefWithUI();//一个很耗时的与UI控件处理相关的函数 } ...
多线程
进行网络
通信
是否可以达到更快的速度?
请教
诸位高手,如果我有若干文件需要从一台计算机远程拷贝到另一台计算机上,两种方式: 1. 只用一个线程,一个接一个的拷贝过去; 2. 开多个线程,同时拷贝多个文件。 第二种方案一定会快于第一种方案吧?那么快的原因在哪里,以及如何计算可以达到的最高拷贝速度是多少呢?
Linux/Unix社区
23,121
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章