永发信息网

问一个多线程共享端口的问题

答案:2  悬赏:20  手机版
解决时间 2021-04-08 05:40
  • 提问者网友:像風在裏
  • 2021-04-07 11:47
一个应用程序绑定了一个端口。这个端口内有五个线程,这五个线程都通过这个端口同时发送、接受数据。
我的问题是,假如来了数据,那么应用程序如何判断该把这个数据发送给哪个线程呢?
我指的是内部的实现原理
最佳答案
  • 五星知识达人网友:话散在刀尖上
  • 2021-04-07 12:11
分两种情况来讲。
1,应用程序是client,绑定端口,读写同一个socket,因为对socket读和写是原子的,同时有且仅有一个线程可以发送和接收,那么,哪个线程获得了锁,就哪个读或者是写。
2,应用程序是server,绑定端口port1,因为通常用一个socket来接收新的连接,不同的线程来处理新建的连接,这个时候 ,不会有冲突发生,因为,读写的是不同的socket。
最后,纠正一下,应用程序不是直接通过端口与其它应用通信的,而是通过操作系统封装过的一个抽象的数据类型socket与其它应用通信。对于TCP/IP来说,一个socket至少包含这样四个元素,本机ip、本机port、远程ip、远程port
全部回答
  • 1楼网友:長槍戰八方
  • 2021-04-07 13:41
好像没法区分啊,应该每个线程都有相同的处理函数吧,如果理解错误,希望能告诉一声。。菜鸟。。。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯