社区
网络编程
帖子详情
send recv 问题
littleeagle007
2007-01-22 05:25:33
请问如果我开多个线程在某个SOCK 上手发数据, 如果某一线程在收或者发送的数据中, 该线程被挂起。 那么会出现什么情况呢? 请高手赐教
...全文
347
6
打赏
收藏
send recv 问题
请问如果我开多个线程在某个SOCK 上手发数据, 如果某一线程在收或者发送的数据中, 该线程被挂起。 那么会出现什么情况呢? 请高手赐教
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
annhf
2007-04-09
打赏
举报
回复
看你是用什么模式,是阻塞模式,还是非阻塞模式。
littleeagle007
2007-01-23
打赏
举报
回复
这个解释比较合理,我一直在考虑这个问题。因为我现在是多线程在同一个创建好的SOCKET上收发数据,我想采用一个比较好的安全的收发机制但是也不至于乱。
尘雨
2007-01-23
打赏
举报
回复
你主动把线程挂起的话,数据丢不丢失,很难讲,不过丢失的可能性很大,也有可能,很快就把数据送到底层协议的缓冲。
如果你的线程会提交多于一个send,那么数据肯定不全了。而且对端接收端,甚至可能会超时而中断此链接,或者recv一直等待,这却决于数据协议和对端接收采取哪种模型了
尘雨
2007-01-23
打赏
举报
回复
不建议多个线程共享同一个socket去send 或者recv,而线程之间仅仅依靠上下文切换,这样你的包发出的顺序会出现乱序问题,管理起来也较乱。
littleeagle007
2007-01-22
打赏
举报
回复
我的意思说,我如果在我发送数据的过程中把该线程挂起, 那数据会不会丢失?或者出现其他情况??
microyzy
2007-01-22
打赏
举报
回复
没啥情况,系统调度,一会它又能继续执行了,
Qframe
QFrame类是针对边框设计的,mid-line是中线,只有在有个尖角的时候才有用,panel是绘制一个面,当凸起raised或下沉sunken的时候,面一起上升或者下降,box是线,凸起或者下降的时候,会有一个尖角,顶尖的位置就是中线的位置,中线宽度的就是拉伸的长度。...
qframe 绘图_QT 基本图形绘制
1 如果要在绘图设备(一般为窗口部件)上绘图,只需创建一个QPainter,再将指针传到该设备中。例如:void MyWidget::paintEvent(QPaintEvent *event){QPainter painter(this);}2 常用的初始化:画笔、画刷、字体画笔:用来画线和边缘。它包含颜色、宽度、线性、拐点风格以及连线风格。画刷:用来填充几何图形的图案。它一般由颜色和风格组...
qframe 绘图_PyQt5利用QPainter绘制各种图形
importsysfrom PyQt5.QtCore import *from PyQt5.QtGui import *from PyQt5.QtWidgets import *classStockDialog(QWidget):def __init__(self, parent=None):super(StockDialog, self).__init__(parent)self.setWind...
Qt画线条
情况是这样的,现在设计一个地图,地图上的点(假设为pushButton)在Qt Designer中进行勾勒,都放在一个frame里面,然后将一些地图上联通的点使用直线连接起来.嗯....其实这是图的基本演示.....如果你没看明白我在说什么,那就看下面的图吧 上面的线条有锯齿.....官方有个demo,看截图 里面的线条十分优美....不过在下才疏学浅.
Qt如何绘制边框,如何画一条线
一,如何绘制边框 方法:重新paintEvent事件函数 1,.h增加 protected: void paintEvent(QPaintEvent *event); 2,.cpp增加 void testWidget::paintEvent(QPaintEvent *event) { //绘制边框 QPainter painter(this);
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章