WebService是怎样处理并发用户访问的?
就是当多个用户同时调用一个Web服务时,WebService是怎么处理并发用户的,是什么原理或机制,谢谢...
就是当多个用户同时调用一个Web服务时,WebService是怎么处理并发用户的,是什么原理或机制,谢谢
展开
1个回答
展开全部
这个问题不是几句话能完全说清楚的,个人看法是涉及到进程,线程,以及锁,活跃度,性能,容器,阻塞等等相关的概念。
简单说一下。
首先看看程序的并发运行
系统中各个部分不再以单纯的串行方式工作。换言之,在任一时刻系统中不再只有一个活动,而是存在着许多并行的活动。从硬件方面看,处理机、各种外设、存储部件常常并行地进行着工作。从程序方面看,则可能有若干个作业程序或者同时、或者互相穿插在系统中并行运行。这时,机器不再是简单地顺序执行一道程序。也就是说,一道程序的前一动作结束后,系统不一定立即执行其后续操作,而可能转而执行其它程序的某一操作。对于程序中可以执行的操作也可能不需要等待另一操作结束,系统就开始执行它们。这样也就打破了程序执行的顺序性。同时,多个程序活动可能是在不同的数据集上执行同一个程序,所以程序以及机器执行程序的活动不再有严格的一一对应关系。
其次是进程的引入
在多道程序工作环境下,一个程序活动不再能独占系统资源,因此也就不再能单独决定这些资源的状态;程序和机器执行程序的活动之间也不再有一一对应关系。总之,程序活动不再处于一个封闭的系统中,而是和其它程序活动之间存在着相互依赖和制约的关系,因而呈现出并发、动态以及相互制约这些新的特征。在这种情况下,程序这个静态的概念已经不能如实地反映程序活动的这些特征。为此,六十年代中期MULTICS操作系统的设计者和E.W.Dijkstra为首的T.H.E操作系统的设计者开始广泛应用进程(process)这一新的概念来描述系统和用户的程序活动。
“进程”是操作系统的最基本的,也是最重要的概念之一。这个概念对于操作系统的理解、描述和设计都具有极其重要的意义。但是迄今为止对这一概念还没有一个确切统一的描述。有人称进程是可以并行运动的计算部分(S.E.Madnick,J.J.Donovan);有人称进程是一个程序与其数据一道在计算机上顺序执行时所产生的活动(A.C.Shaw);有人从调度组织角度出
发,称进程是一个独立的可以调度的活动(Ellis.Cohen,DavidJofferson);有人则从资源共享和竞争方面观察,认为进程是一个抽象的实体,当它执行一个任务时将要求分配和释放各种资源(Peterdenning)。这些描述都注意到了进程的动态性质,但侧重面不同。为了突出进程和程序两个概念的区别和联系,我们对进程作如下描述:进程是一种活动,它是由一个动作系列组成,每个动作是在某个数据集上执行一段程序,整个活动的结果是提供一种系统或用户功能。
然后是线程
进程具备并发性的特点,这种并发性是不同的进程之间反映出来的,不同的进程有不同进程空间,进程之间的切换消耗比较大。那么就考虑到引入线程的概念,在进程的内部引入并发性,一个进程可以创建多个线程,线程之间具备并发性。不同的线程之间可以共享进程的地址空间和数据。
一般的讲,线程是一个程序,或者进程内部的一个顺序控制流。线程本身不能独立运行,必须在进程中执行,使用进程的地址空间。每个线程有自己单独的程序计数器。
一个进程内部包含多个顺序控制流,或者并发执行多种运算,就是多线程。
简单说一下。
首先看看程序的并发运行
系统中各个部分不再以单纯的串行方式工作。换言之,在任一时刻系统中不再只有一个活动,而是存在着许多并行的活动。从硬件方面看,处理机、各种外设、存储部件常常并行地进行着工作。从程序方面看,则可能有若干个作业程序或者同时、或者互相穿插在系统中并行运行。这时,机器不再是简单地顺序执行一道程序。也就是说,一道程序的前一动作结束后,系统不一定立即执行其后续操作,而可能转而执行其它程序的某一操作。对于程序中可以执行的操作也可能不需要等待另一操作结束,系统就开始执行它们。这样也就打破了程序执行的顺序性。同时,多个程序活动可能是在不同的数据集上执行同一个程序,所以程序以及机器执行程序的活动不再有严格的一一对应关系。
其次是进程的引入
在多道程序工作环境下,一个程序活动不再能独占系统资源,因此也就不再能单独决定这些资源的状态;程序和机器执行程序的活动之间也不再有一一对应关系。总之,程序活动不再处于一个封闭的系统中,而是和其它程序活动之间存在着相互依赖和制约的关系,因而呈现出并发、动态以及相互制约这些新的特征。在这种情况下,程序这个静态的概念已经不能如实地反映程序活动的这些特征。为此,六十年代中期MULTICS操作系统的设计者和E.W.Dijkstra为首的T.H.E操作系统的设计者开始广泛应用进程(process)这一新的概念来描述系统和用户的程序活动。
“进程”是操作系统的最基本的,也是最重要的概念之一。这个概念对于操作系统的理解、描述和设计都具有极其重要的意义。但是迄今为止对这一概念还没有一个确切统一的描述。有人称进程是可以并行运动的计算部分(S.E.Madnick,J.J.Donovan);有人称进程是一个程序与其数据一道在计算机上顺序执行时所产生的活动(A.C.Shaw);有人从调度组织角度出
发,称进程是一个独立的可以调度的活动(Ellis.Cohen,DavidJofferson);有人则从资源共享和竞争方面观察,认为进程是一个抽象的实体,当它执行一个任务时将要求分配和释放各种资源(Peterdenning)。这些描述都注意到了进程的动态性质,但侧重面不同。为了突出进程和程序两个概念的区别和联系,我们对进程作如下描述:进程是一种活动,它是由一个动作系列组成,每个动作是在某个数据集上执行一段程序,整个活动的结果是提供一种系统或用户功能。
然后是线程
进程具备并发性的特点,这种并发性是不同的进程之间反映出来的,不同的进程有不同进程空间,进程之间的切换消耗比较大。那么就考虑到引入线程的概念,在进程的内部引入并发性,一个进程可以创建多个线程,线程之间具备并发性。不同的线程之间可以共享进程的地址空间和数据。
一般的讲,线程是一个程序,或者进程内部的一个顺序控制流。线程本身不能独立运行,必须在进程中执行,使用进程的地址空间。每个线程有自己单独的程序计数器。
一个进程内部包含多个顺序控制流,或者并发执行多种运算,就是多线程。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询