社区
C#
帖子详情
ThreadPool的 SetMaxThreads 设置了4000 但是 到 1390多的时候就终止了
leida1983
2008-06-20 09:31:14
做一个外汇牌价的显示的程序
每个客户端都与服务器进行 TCP 的连接
只是从服务器获得外汇的牌价
每秒4次的样子
想用线程池来实现 服务器与每个客户端的连接
但是 1395 就是极限了
有什么好的坚决方法没
...全文
529
12
打赏
收藏
ThreadPool的 SetMaxThreads 设置了4000 但是 到 1390多的时候就终止了
做一个外汇牌价的显示的程序 每个客户端都与服务器进行 TCP 的连接 只是从服务器获得外汇的牌价 每秒4次的样子 想用线程池来实现 服务器与每个客户端的连接 但是 1395 就是极限了 有什么好的坚决方法没
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
fuadam
2008-06-25
打赏
举报
回复
[Quote=引用 10 楼 FlashElf 的回复:]
1.4G 对服务器算不就是个毛吗?
我家都4G 内存了,你不会是 98 工控机吧;
[/Quote]
你仅仅起线程就1.4G,你服务器上还有其他的服务也要占用资源。而且这么多线程就算服务器是多U多核调度线程也是有效率随时的。而且还要做同步。系统内存再大,cpu再强,你无限制的开线程服务器也会宕掉
曲滨_銘龘鶽
2008-06-25
打赏
举报
回复
1.4G 对服务器算不就是个毛吗?
我家都4G 内存了,你不会是 98 工控机吧;
fuadam
2008-06-23
打赏
举报
回复
你想想如果线程栈的大小是1M 那个你1395个线程就差不多1.4G内存,服务器不宕机才怪
gxj760998
2008-06-21
打赏
举报
回复
这样连接太离谱了吧!
4000个IP长连接,你的业务处理不复杂吧??
一个处理1MS的话,也不得了啊。。。。
nec_5499
2008-06-21
打赏
举报
回复
fuadam
2008-06-20
打赏
举报
回复
[Quote=引用 5 楼 FlashElf 的回复:]
ThreadPool ? 用 Thread 就得了?
你这点东西消耗不了多少东西根本!
[/Quote]
是吗?在做长连接的时候,1,2千个客户端连入,服务器没事??
曲滨_銘龘鶽
2008-06-20
打赏
举报
回复
ThreadPool ? 用 Thread 就得了?
你这点东西消耗不了多少东西根本!
weiyue_net
2008-06-20
打赏
举报
回复
希望对你有帮助
http://www.codeproject.com/KB/IP/serversocket.aspx
http://savannah.nongnu.org/projects/mts/
fuadam
2008-06-20
打赏
举报
回复
你可以上搜狗实验室,里面好像有2篇文章讲解大规模连入服务器时的解决方法的
leida1983
2008-06-20
打赏
举报
回复
有没有相关资料或者 DEMO
fuadam
2008-06-20
打赏
举报
回复
线程池处理tcp服务端是比较简单,性能也比较低的方法
你可以用这种模型
监听线程; listenWorker(n个) 只负责监听连入的socket和socket是否有新的数据需要接受
处理线程 procWorker(n个) 拆包,处理逻辑,发送数据
listenworker 和 procwoker 之间是生产者消费者关系
这样线程使用量小,性能高
C#多线程学习 之 线程池[
Thre
adPool
]
在多线程的程序中,经常会出现两种情况: 一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应 这一般使用
Thre
adPool
(线程池)来解决; 另一种情况:线程平时都处于休眠状态,只是周期性地被唤醒 这一般使用Timer(定时器)来解决; 本篇文章单单讲线程
C#学习系列相关之多线程(五)----线程池
Thre
adPool
用法
本文介绍C#中关于
Thre
adPool
相关用法,关于
Thre
adPool
在实际应用中并不多,以供大家参考
多线程(3)
Thre
adPool
使用
Thre
ad类已经可以创建并启动线程了,但是随着开启的线程越来越多,线程的创建和
终止
都需要手动操作,非常繁琐,另一个问题是,开启更多新的线程但是没有用的线程没有及时得到
终止
的时候,会占用越来越多的系统资源,影响性能。 所以,.net为我们引入了
Thre
adPool
(线程池),我们只需要把要执行的任务放到线程池中即可,线程的开启包括资源的释放都由线程池帮我们完成。下面看一下怎么使用线程池。...
C#多线程
Thre
adPool
类的使用(一)
前面我们介绍了
Thre
ad类的使用,此类在。NET1.0版本的时候就有了,其内部含有大量的方法和属性。使用起来略有繁琐,为了提高使用多线程的效率,杜绝滥用多线程,.NET提出了
Thre
adPool
也就是线程池的概念。 何为
Thre
adPool
线程池? 实际上就是专门放置线程的池子,它是一个类,此类分装了
Thre
ad类中的一些方法和属性,使用户使用起来更加的快捷。此外它的使用效率高,需要的时候从池子...
C#.Net使用线程池(
Thre
adPool
)与专用线程(
Thre
ad)
线程池(
Thre
adPool
)使用起来很简单,但它有一些限制:1. 线程池中所有线程都是后台线程,如果进程的所有前台线程都结束了,所有的后台线程就会停止。不能把入池的线程改为前台线 程。2. 不能给入池的线程
设置
优先级或名称。3. 对于COM对象,入池的所有线程都是多线程单元(Multi-
thre
aded apartment,MTA)线程。许多COM对象都需要单线程单元(Single ...
C#
110,534
社区成员
642,576
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章