使用 RuPengGame游戏引擎包 建立游戏窗体 如鹏游戏引擎包下载地址 Thread Runnable 卖票实例

2023-05-16,,

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()方法就可以实现多线程操作了,但是一个类只能继承一个父类,这是此方法的局限。

使用 RuPengGame游戏引擎包 建立游戏窗体 如鹏游戏引擎包下载地址 Thread Runnable 卖票实例的相关教程结束。

《使用 RuPengGame游戏引擎包 建立游戏窗体 如鹏游戏引擎包下载地址 Thread Runnable 卖票实例.doc》

下载本文的Word格式文档,以方便收藏与打印。