1、什么是多线程并发服务器
有多个 CPU 可用。单核机器上多线程的优势不明显。
线程间有共享数据。如果没有共享数据,用模型 3b 就行。虽然我们应该把线程间的共享数据降到最低,但不代表没有;
共享的数据是可以修改的,而不是静态的常量表。如果数据不能修改,那么可以在进程间用 shared memory,模式 3 就能胜任;
提供非均质的服务。即,事件的响应有优先级差异,我们可以用专门的线程来处理优先级高的事件。防止优先级反转;
latency 和 throughput 同样重要,不是逻辑简单的 IO bound 或 CPU bound 程序;
利用异步操作。比如 logging。无论往磁盘写 log file,还是往 log server 发送消息都不应该阻塞 critical path;
能 scale up。一个好的多线程程序应该能享受增加 CPU 数目带来的好处,目前主流是 8 核,很快就会用到 16 核的机器了。
具有可预测的性能。随着负载增加,性能缓慢下降,超过某个临界点之后急速下降。线程数目一般不随负载变化。
多线程能有效地划分责任与功能,让每个线程的逻辑比较简单,任务单一,便于编码。而不是把所有逻辑都塞到一个 event loop 里,就像 Win32 SDK 程序那样。
2、window服务器支持多少线程
一个进程可以开启的线程受可用内存限制,如果是32位的机器,那么默认一个进程有2G的可用内存,而每个线程默认分析1M的栈空间,所以这种情况下理论最线程数在2000多个。一个解决法是创建线程时减少线程栈的大小或是使用64位的系统。64位系统应该...
3、如何开启一个在服务器中运行的线程
启动脚本改一下就行了,不是牛都会的!具体怎么改那就看你要启动一个怎么样的线程了!很简单的
4、服务器一般支持多少线程
这个是根据服务器配置(处理器)来的,主流的都是核心数* 2。你可以去服务器厂商(正睿)的网上找找服务器产品,查看一下参数和配置,几分钟就清楚了!
5、Java的服务器一般运行几个线程比较合适
首先确认你是cpu密集型的还是io密集型的,
如果是cpu密集型的线程数可以设置到和cpu个数一致,
如果是io密集型的,首先需要确认你io wait的时间,线程数和io wait时间成正比, 具体需要根据测试得出。
6、下载的时候所谓的“ftp服务器线程”是什么意思?
就是可以用多少个线程下载.每一个线程表示一个下载通道.线程越多.速度越快.不过.有的服务器是限制线程的.你用一下影音传送带.网络快车之类的多线程下载软件就可感觉到了.呵....别开太多噢.小心人家封你IP
7、一台java服务器跑多少个线程
首先确认你是cpu密集型的还是io密集型的,
如果是cpu密集型的线程数可以设置到和cpu个数一致,
如果是io密集型的,首先需要确认你io wait的时间,线程数和io wait时间成正比, 具体需要根据测试得出。
8、关于多线程服务器
你说你绑定和监听都好了吧
那么服务就可以这样写
while(bWorking)
{
SOCKET sAccept = accept(sListen, NULL, NULL);
if(sAccept != SOCKET_ERROR)
CreateThread(NULL, 0, ThreadProc, (LPVOID)&sAccept, 0, NULL);
}
相应的线程函数可以这样:
DWORD WINAPI ThreadProc(LPVOID lpPara)
{
SOCKET sComm = *((SOCKET*)lpPara);
//从这里开始读写这个socket就可以了
}
这样就实现了accept一个连接就创建一个线程。
9、服务器说的“路、通道、线程”是什么意思?
首先你要明白一点:路、核、线程三者的区别。
路:独立的CPU的个数。
核:单个CPU的物理核心(也叫真实核心)数量。
线程:程序中顺序控制流程的数量。
举个例子,双路四核八线程服务器指的就是该服务器有2个独立的CPU,每个CPU有2个物理核心(2x2=4核),每个核心拥有2条线程(4x2=8线程)。个人PC平台上很少出现“路”这个术语,以前奔腾时代英特尔公司面向桌面级用户倒是做过一些高端的双CPU平台,就是说一块主板上装了两个独立的CPU,和现在的双核CPU不是一个概念。多核CPU是由于后期技术发展后,芯片集成度越来越高,可以把多个物理核心集成在一个CPU上。打个比喻(虽然不恰当),如果把双路看做一对健康的双胞胎的话,那么双核就是一对连体双胞胎。
而所谓的四核八线程(注意:这里没有“路”定义)就是说,一颗独立的CPU上的真实核心数量为4,但是通过超线程技术又模拟出4个核心,看上去像8个核心了,但有4个是模拟出来的,不是真实的,以此类推。这就是所谓的超线程,目前是英特尔公司独有的技术。
至于“几通道”,它指的是服务器进行资源共享操作时的信道数量,它表现的是服务器的网络共享通信那一块的性能,和上面的三个术语面向的对象不同,他们仨表现的是服务器的数据处理那一块的性能,数量越高,服务器多任务处理能力越强。当然,这四个家伙一起展现了一台服务器的综合性能。
10、服务器CPU是不是线程数越多越好?另外并发访问量最多1000的服务器用什么CPU比较好?
你好.我来解答下你的问题
线程数只是衡量CPU性能的参数之一.并不完全由线程数量来决定CPU的性能.当然.在同等平台和同一级别的处理器.线程数越多性能越强.一般情况下.一台普通配置的服务器最大并发数可以达到几千.一台至强高配置的服务器的最大并发数可以达到上万.你所要求的并发数达到一千.基本上随便一个普通配置就可以满足了.除了配置以外.也要带宽够用才可以保障访问速度.
海腾数据杨闯为你解答.若有服务器问题需要帮忙的可以来找我