java启动线程三种方式:线程有哪些启动方式呢?希望下面的文章对大家有所帮助。
  1.继承Thread
  publicclassjava_threadextendsThread{
  publicstaticvoidmain(Stringargs[])
  {
  (newjava_thread()).run();
  System.out.println("mainthreadrun");
  }
  publicsynchronizedvoidrun()
  {
  System.out.println("subthreadrun");
  }
  }
  2.实现Runnable接口
  view plaincopy
  publicclassjava_threadimplementsRunnable{
  publicstaticvoidmain(Stringargs[])
  {
  (newThread(newjava_thread())).start();
  System.out.println("mainthreadrun");
  }
  publicvoidrun()
  {
  System.out.println("subthreadrun");
  }
  }
  3.直接在函数体使用
  voidjava_thread()
  {
  Threadt=newThread(newRunnable(){
  publicvoidrun(){
  mSoundPoolMap.put(index,mSoundPool.load(filePath,index));
  getThis().LoadMediaComplete();
  }});
  t.start();
  }
  4.比较:
  实现Runnable接口优势:
  1)适合多个相同的程序代码的线程去处理同一个资源
  2)可以避免Java中的单继承的限制
  3)增加程序的健壮性,代码可以被多个线程共享,代码和数据独立。
  继承Thread类优势:
  1)可以将线程类抽象出来,当需要使用抽象工厂模式设计时。
  2)多线程同步
  在函数体使用优势
  1)无需继承thread或者实现Runnable,缩小作用域。