java 这两种运行线程方式有啥区别?

各位大神,小弟刚学java多线程碰到个问题
创建线程的时候有两种方法
第一种

myTest a = new myTest(out,"ccc");
    new Thread(a).start();
    new Thread(a).start();
    
  

第二种

 new Thread(new myTest(out,"aa")).start();
 new Thread(new myTest(out,"bb")).start();

这两种创建线程 有啥区别呢 推荐用哪个呢??

阅读 1.4k
1 个回答

区别很大,第一种创建一个myTest对象,第二种两个,第二种使用synchronized (this)无法锁住同步代码块.

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题