静态方法与动态方法

静态方法占内存大,速度快,动态点内存少,速度慢..

不过web是多线程的,如果调用静态方法,要加锁,这样在多次调用时,会很慢
多线程,原则上静态成员是需要保护的,任何静态成员都有被多线程冲突的可能

 

线程的加锁问题

通过设定方法为同步方法,主要是为规避(从有可能地角度)同一资源在同  
   
  一进程内多线程之间被交叉访问.设置setTestList()为同步方法,程序执  
   
  行到test.setTestList(list)方法时,目前应是线程安全的,但test.star  
   
  t()方法调用时,有可能会造成线程非安全:1.若start()针对test对象的s  
   
  etTestList()方法未开启其它线程并调用setTestList()方法,当前进程处于  
   
  线程安全状态   2.若    
   
  start()针对test对象开启其它线程并调用setTestList()方法,且开启线  
   
  程的数量大于1,当前进程处于线程非安全状态.显然,线程非安全状态时对方法加上  
   
  synchronized关键字就存在意义.

posted @ 2007-08-24 15:07  杰仔  阅读(611)  评论(0编辑  收藏  举报