java中實現多線程的方法有幾種以及如何實現多線程


     多線程是java語言區別於其它語言的一大特點。其它語言向C++的話如果要實現多線程的話,必須調用操作系統的多線程機制(我不確定自己記得對不對

 了感興趣的自己上網查查看)。

   在java5以前實現多線程有兩種方法(繼承Thread類和實現Runnable接口)

   它們分別為:

   使用new Thread()new Thread(Runnable)形式

   第一種直接調用threadrun方法,所以,我們往往使用Thread子類,即new SubThread()

   第二種調用   

    Runnablerun方法。

   第一種:

   new Thread(){}.start();這表示調用Thread子類對象的run方法,new Thread(){}表示一個Thread的匿名子類的實例對象,子類加上run方法后的代碼如下:

   new Thread(){

   public void run(){

   }

  }.start();

 

   第二種:

new Thread(

   new Runnable(){}

     ).start();

  這表示調用Thread對象接受的Runnable對象的run方法,new Runnable(){}表示一個Runnable的匿名子類的實例對象,

  runnable的子類加上run方法后的代碼如下:

  new Thread(new Runnable(){

  public void run(){

 }

}

).start();

 

從java5開始,還有如下一些線程池創建多線程的方式:

 

package com.yonyou.test;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
 * 測試類
 * @author 小浩
 * @創建日期 2015-3-2
 */

public class Test{
	public static void main(String[] args){
		ExecutorService pool = Executors.newFixedThreadPool(3);
				for(int i=0;i<10;i++)
				{
				pool.execute(new Runnable(){public void run(){ System.out.println();}});
				}
				Executors.newCachedThreadPool().execute(new Runnable(){public void run(){}});
				Executors.newSingleThreadExecutor().execute(new Runnable(){public void run(){}});
	}
}

 

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM