在盘算机技巧日新月异的今天,高防服务器随着硬件能力的提升,多线程、多过程、超线程、并发、并行等概念目不暇给,很多程序员始终无法明确这些名词之间的意义以及如何编程,下面我们具体解释一下各个名词的概念。
过程( Process):过程是一个正在运行的程序对于操作系统的抽象,操作系统给毎一个过程分配了独立的处理器资源、内存、磁盘空间(或者网络)资源。
线程( Thread):线程是指在一个单独过程中,对于CPU和内存而言的多个工作单位,所有线程在过程中的资源都是共享的(全局数据、履行代码等)。
并发( Concurrent):并发放在网络服务器上的概念,就是在同台物理服务器或者逻辑服务器上同时能承载的用户数,可以同时处理多个客户端发来的逻辑数据。而放在盘算机的架构上,指的是CPU在同一时间“同时”履行多个线程或者程的能力,事实上是CPU在极短时间内来回切换多个任务进行运算。
超线程( Hyber Threading):多核CPU的任意一个物理核可以通过超线程技巧在极端时间内同时履行两个或多个盘算任务。
并行( Parallelism):注意并行不是并发,并行指的是指令集的并行,即CPU同时履行多条指令的属性,比如SMD、MMX、SSE、SSE2等,这些指令集能应用单条指令履行多条数据运算,比如多媒体、3D图形图像、网络数据流等方面的运算。
关于多线程、多过程、并行等的简短概念就描写到这里。现在用户或许明确了,为啥一个服务器程序,需要用到多线程编程。
我们不需要关心CPU或者总线传输等极端底层的知识,我们只需要知道,一台服务器供给服务给客户端,由于一般都是单开一个过程(见上面描写),所以在这样的情况下,想要处理无数个从网络连进来的客户端进行运算、操作、返回成果等的操作,在单个过程的模式下,应用多线程是最理想也是大家都默认的一种编程方法。
TikTok千粉号购买平台:https://tiktokusername.com/
TOP