使用 RuPengGame遊戲引擎包 建立遊戲表單 如鵬遊戲引擎包 Thread Runnable 賣票執行個體,rupenggamerunnable
package com.swift;import com.rupeng.game.GameCore;//匯入遊戲引擎包
//實現Runnable介面public class Game_RuPeng implements Runnable { public static void main(String[] args) { GameCore.start(new Game_RuPeng());//產生遊戲對象,並讓引擎啟動它 } //覆寫介面中的run()方法,控制遊戲 @Override public void run() { GameCore.setGameSize(1024, 768);//設定遊戲視窗大小 GameCore.setGameTitle("遊戲視窗");//設定遊戲視窗標題 GameCore.pause(3000);//設定遊戲視窗停留3秒 }}
如鵬遊戲引擎包
連結: https://pan.baidu.com/s/1eSKo8KE 密碼: n32z
關於 implements Runnable介面,用下面例子說明
以賣票程式為例,通過Thread類完成:
package com.swift;class SellTickets extends Thread { private int ticket = 10; public void run() { for (int i = 0; i < 20; i++) { if (this.ticket > 0) { System.out.println("賣票:ticket" + this.ticket--); } } } public static void main(String[] args) { SellTickets mt1 = new SellTickets(); SellTickets mt2 = new SellTickets(); SellTickets mt3 = new SellTickets(); mt1.start();// 每個線程都各賣了10張,共賣了30張票 mt2.start();// 但實際只有10張票,每個線程都賣自己的票 mt3.start();// 沒有達到資源共用 }}
如果用Runnable就可以實現資源共用,下面看例子:
package com.swift;class SellTickets2 implements Runnable { private int ticket = 10; public void run() { for (int i = 0; i < 20; i++) { if (this.ticket > 0) { System.out.println("賣票:ticket" + this.ticket--); } } } public static void main(String[] args) { SellTickets2 mt=new SellTickets2(); new Thread(mt).start();//同一個mt,但是在Thread中就不可以,如果用同一 new Thread(mt).start();//個執行個體化對象mt,就會出現異常 new Thread(mt).start(); }}
雖然現在程式中有三個線程,但是一共賣了10張票,也就是說使用Runnable實現多線程可以達到資源共用目的。
在java中可有兩種方式實現多線程,一種是繼承Thread類,一種是實現Runnable介面;Thread類是在java.lang包中定義的。一個類只要繼承了Thread類同時覆寫了本類中的run()方法就可以實現多線程操作了,但是一個類只能繼承一個父類,這是此方法的局限。