日期:2014-05-18  浏览次数:20566 次

tomcat的线程问题
  写了几个月代码,一直没考虑过线程问题。最近看公司别人写的代码有些迷惑。
  有个需求是 将doc转为pdf   解决方案是 java 调用openoffice程序来解决。
  代码大致为(伪代码):
  public class  changtoDoc{
   
     public synchronized void toDoc(String path1,String path2){
       
                  调用服务器安装的openOffice软件//
     }
  }

------解决方案--------------------
问题1:synchronized是跟线程有关,但是不是只有Runnable里的方法才用synchronized修饰的,synchronized获取的当前(或提供的)对象或类的锁,所以任何类中的方法都可以用synchronized,如果该类被不同的线程(Runnable的)调用了,synchronized的方法就会被同步执行。
问题2:不懂。实例化多少次看你new了多少次
问题3:tomcat使用多线程来处理响应请求,一般两个相同的请求同时到达,就会在两个不同的线程里处理。这里有并发,所以线程交给tomcat,就是不需要你显式创建线程,但是运行环境依然是多线程的。(本条纯属个人观点,不熟,可参照别的回答)