线程数的意思是程序中单一的顺序控制流程。多线程就是在单个程序中同时运行多个线程完成不同的工作。
程序中线程数的多少,会影响到下载速度,假设从服务端传送数据到用户端,把用户端和服务端比做两个小岛,线程数比做连接两个小岛之间的桥梁,架桥越多,单位时间内传送的数据越多。
如果桥梁架设超过双方所能承受的数量时,用户端将无法接受其他服务端的数据,而服务端将无法为其他用户端传送数据,因此,线程数的多少,要根据服务端和用户端的具体情况而定。
扩展资料
原始下载地址是建立下载任务时,该资源指向的最终下载服务器上的文件地址。
候选资源是下载软件为用户在网络上搜集到的该文件其他下载地址。
较早的IE下载是使用单线程的下载技术,可以简单的理解为用户端与服务器端仅仅只有一座桥梁,数据传送只能靠这一座桥梁来完成。可以把这个桥梁当作是线程。
网络中的服务端,为用户提供的连接线程数,在1—10个,用户可以根据不同的服务端限制,来修改下载软件的原始下载线程数。
根据下载资源的热门程度,其候选资源数量的不同,该任务下载可用的线程数也会不同,可以设置在35-50之间,这样的设置不会导致您电脑的连接数过多,而无法从事其他网络活动。
参考资料来源:百度百科-线程数
线程池的最大线程数:
1、.net4.0,32位机器最大线程数,每核1023个
2、.net4.0,64位机器最大线程数,每核32768个
3、.net3.0,最大线程数,每核250个
4、.net2.0,最大线程数,每核25个
默认的最小线程数是每核1个。在服务器端环境,比如iis下的asp.net最小线程数会更大可能超过50。
线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在创建线程后自动启动这些任务。线程池线程都是后台线程。每个线程都使用默认的堆栈大小,以默认的优先级运行,并处于多线程单元中。如果某个线程在托管代码中空闲(如正在等待某个事件),则线程池将插入另一个辅助线程来使所有处理器保持繁忙。如果所有线程池线程都始终保持繁忙,但队列中包含挂起的工作,则线程池将在一段时间后创建另一个辅助线程但线程的数目永远不会超过最大值。超过最大值的线程可以排队,但他们要等到其他线程完成后才启动。
组成部分:
服务器程序利用线程技术响应客户请求已经司空见惯,可能您认为这样做效率已经很高,但您有没有想过优化一下使用线程的方法。该文章将向您介绍服务器程序如何利用线程池来优化性能并提供一个简单的线程池实现。
1、线程池管理器(ThreadPoolManager):用于创建并管理线程池。
2、工作线程(WorkThread):线程池中线程。
3、任务接口(Task):每个任务必须实现的接口,以供工作线程调度任务的执行。
4、任务队列:用于存放没有处理的任务。提供一种缓冲机制。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)