zoukankan      html  css  js  c++  java
  • 并发并行多线程

    Servlet多线程同步问题(important)
    最主要的原因之一是:Servlet是单例模式,一个Servlet给所有的用户提供服务,有可能造成资源混乱的模式

    Servlet的多线程同步问题:Servlet本身是单实例的,这样当有多个用户同时访问某个Servlet时,会访问该唯一的Servlet实例中的成员变量,如果对成员变量进行写入操作,那就会导致Servlet的多线程问题,即数据不一致。

    解决同步问题的方案:
    1、去除实例变量,使用局部变量(最好的)
    2、使用synchronized{}

    1、Servlet/JSP技术和ASP、PHP等相比,由于其多线程运行而具有很高的执行效率。

    2、由于Servlet/JSP默认是以多线程模式执行的,所以,在编写代码时需要非常细致地考虑多线程的同步问题。

    3、如果在编写Servlet/JSP程序时不注意到多线程同步的问题,这往往造成编写的程序在少量用户访问时没有任何问题,而在并发用户上升到一定值时,就会经常出现一些莫明其妙的问题,对于这类随机性的问题调试难度也很大。




    多线程编程思想:http://www.cnblogs.com/Autumoon/archive/2008/06/19/1225684.html


    并行:是指无论从微观还是宏观,二者都是一起执行的,就好像两个人各拿一把铁锨在挖坑,一小时后,每人一个大坑。 (有两把铁锹)

    并发:在微观上不是同时执行的,只是把时间分成若干段,使多个进程快速交替的执行,从宏观外来看,好像是这些进程都在执行,这就好像两个人用同一把铁锨,轮流挖坑,一小时后,两个人各挖一个小一点的坑,要想挖两个大一点得坑,一定会用两个小时。
    从以上本质不难看出,“并发”执行,在多个进程存在资源冲突时,并没有从根本提高执行效率。(只有一把铁锹)

    并发和并行的区别就是一个人同时吃三个馒头(一个坑三个人交替挖)和三个人同时吃三个馒头(三个坑三个人一人挖一个)。

  • 相关阅读:
    19.SimLogin_case07
    19.SimLogin_case06
    19.SimLogin_case05
    19.SimLogin_case04
    19.SimLogin_case03
    闲说性能测试
    iostat命令详解
    Linux vmstat命令实战详解
    RAC集群节点故障模拟测试
    Oracle RAC功能测试
  • 原文地址:https://www.cnblogs.com/o-andy-o/p/5793520.html
Copyright © 2011-2022 走看看