NET网页编程之关于C#中异步与多线程的区分
既然话题已经抄起,我打算今晚发篇博文再引导一下舆论方向,使它再火两天,抛砖引玉,而且赵劼先生一直在跟帖,使.NET阵营的我感到万分难得。异步与多线程,信任良多人都简单搅浑起来吧。并且,它们仿佛都能到达不异的目标与效果。上面是小编从网上搜集的一些关于二者之间的区分,但愿能对人人有所匡助。
·异步和多线程在某些时分就是统一个意义。同步就是按次实行,实行完一个再实行下一个,按次可把持,异步就是并行,相互自力,线程就是完成异步的一个体例。
·异步的次要功效不是削减线程的开支,而是让挪用办法的主线程不必要同步守候加一线程的完成,从而可让主线程干别的的事变。
在实行多线程的时分,体系会从ThreadPool(线程池)中掏出线程来实行义务,同时体系会主动办理线程池的巨细和线程池中线程的读与取。
总之,多线程就是即是让我们在统一工夫做了两件事务。
·异步和多线程其实不时一个一律干系,异步是终极目标,多线程只是我们完成异步的一种手腕。
甚么是异步:异步是当一个挪用哀求发送给被挪用者,而挪用者不必守候其了局的前往而能够做别的的事变。完成异步能够接纳多线程手艺或则交给别的的历程来处置
·线程池在初始化时内里的线程为0,只要当历程必要一个线程时,才会创立一个线程,并由此线程实行用户的办法。但必要注重的是,此线程实行完后其实不会当即烧毁,而是挂起守候,假如有其他办法必要实行时,则会叫醒该线程处置义务。只要当它比及40秒(没有官方数字,有多是别的数字)还没有义务要实行时才叫醒并烧毁本人。假如线程池中的线程不敷处置义务时,会再次创立一个新线程举行实行。我感觉可以顶到50楼,出乎意料的是大家居然纷纷写出自己的博文,还被编辑做成了专题,置于首页头条。 平台无关性是PHP的最大优点,但是在优点的背后,还是有一些小小的缺点的。如果在PHP中不使用ODBC,而用其自带的数据库函数(这样的效率要比使用ODBC高)来连接数据库的话,使用不同的数据库,PHP的函数名不能统一。这样,使得程序的移植变得有些麻烦。不过,作为目前应用最为广泛的一种后台语言,PHP的优点还是异常明显的。 Servlet却在响应第一个请求的时候被载入,一旦Servlet被载入,便处于已执行状态。对于以后其他用户的请求,它并不打开进程,而是打开一个线程(Thread),将结果发送给客户。由于线程与线程之间可以通过生成自己的父线程(ParentThread)来实现资源共享,这样就减轻了服务器的负担,所以,JavaServlet可以用来做大规模的应用服务。 但是java靠开源打出的一片天地,特别是在微软的垄断下能打开今天的局面还是有它的生命力的。 网页从开始简单的hmtl到复杂的服务语言,走过了10多个年头,各种技术层出不穷,单个的主流技术也在不断翻新的版本,现在分析下各种语言的区别、优势、劣势、开发注意事项! 那么,ASP.Net有哪些改进呢? 它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 这也就是最近几年来随着各种新的后台技术的诞生,CGI应用在Internet上越来越少的原因。CGI方式不适合大访问量的应用。 目前在微软的.net战略中新推出的ASP.net借鉴了Java技术的优点,使用CSharp(C#)语言作为ASP.net的推荐语言,同时改进了以前ASP的安全性差等缺点。但是,使用ASP/ASP.net仍有一定的局限性,因为从某种角度来说它们只能在微软的WindowsNT/2000/XP+IIS的服务器平台上良好运行(虽然像ChilliSoft提供了在UNIX/Linux上运行ASP的解决方案.
页:
[1]