c#多线程编程可以同时开128个线程嘛?

nongfuxu 2014-08-16 05:40:43
对于通常的中档商用机配置,一台商用机上,用c#多线程编程时,可以同时开128个线程嘛?
问题是这样的:
1)采用异步TCPClient ,TCPListener通讯,类似于异步聊天室的服务器端。
2)每个线程用于和一个控制器相互通讯。一台商用机同时与最多128个控制器相连接。
3)每间隔N秒通讯一次。比方N=5~60
...全文
4889 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
nongfuxu 2014-08-20
  • 打赏
  • 举报
回复
引用
控制器端是用Cortex M0
控制器中的Cortex M0,是32位ARM芯片。
nongfuxu 2014-08-19
  • 打赏
  • 举报
回复
引用
* - * 上位机只应该使用一个端口 * - *
上位机 只能使用一个端口与 128个控制器(串口-以太网)通讯嘛?
nongfuxu 2014-08-19
  • 打赏
  • 举报
回复
引用
上位机只应该使用一个端口,平常不需要任何线程处理,收到任何(异步)消息都可以使用一个线程(来自于系统线程池)瞬间处理一下。
(最多128个)控制器端是用Cortex M0,与串口服务器(串口-以太网:串口服务器 串口转以太网,济南有人 http://www.usr.cn/Product/36.html) 我担心 “串口-以太网” 速度太慢了。请教此时应该怎么处理。谢谢
by_封爱 版主 2014-08-19
  • 打赏
  • 举报
回复
c#中的socketasynceventargs或者beginXXXX完全可以满足..
nongfuxu 2014-08-19
  • 打赏
  • 举报
回复
引用
我的分太少呀,求分谢谢!
我现在才看到。 怎么在我的通知里,没有看到“通知”啊。
sinomac 2014-08-16
  • 打赏
  • 举报
回复
我的分太少呀,求分谢谢!
  • 打赏
  • 举报
回复
不要照抄某些坑爹的 java 博客上的所谓说明。 在服务器端,有多少线程跟你的“控制器”的数量没有任何关系,只跟服务器在一瞬间需要并行处理多少消息命令有关(以及.net调用的系统线程池自动统计出的最优并行线程数量有关)。
  • 打赏
  • 举报
回复
上位机只应该使用一个端口,平常不需要任何线程处理,收到任何(异步)消息都可以使用一个线程(来自于系统线程池)瞬间处理一下。 因此,就算是你有10万个下位机,也不应该有2个线程、更别说10万个线程去阻塞、循环在那里。 反之,就算只有2个下位机,也可以有10个线程在那里正在并行处理收到的消息。
祥子爱游戏 2014-08-16
  • 打赏
  • 举报
回复
Threadpool,线程可以开很多的,我也不知道有多少。可能windows的一个进程就有十几个线程,重点不是线程的多少,而是算法,对于线程池的运用吧
wangnaisheng 2014-08-16
  • 打赏
  • 举报
回复
开多少线程应该无所谓吧, 你这类似双工的操作……可以参考下
threenewbee 2014-08-16
  • 打赏
  • 举报
回复
如果你打开Windows任务管理器,你会发现你的系统往往运行着上千个线程,所以开128个没有问题。 但是这么做没有什么意义,并不能提高并发的吞吐量,也不利于你的管理。

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧