码迷,mamicode.com
首页 > 编程语言 > 详细

并发并行多线程

时间:2016-08-21 21:21:02      阅读:232      评论:0      收藏:0      [点我收藏+]

标签:

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


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

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

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

并发并行多线程

标签:

原文地址:http://www.cnblogs.com/o-andy-o/p/5793520.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!