当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

Runnable接口使用实例

发表于: 2013-05-19   作者:bijian1013   来源:转载   浏览:
摘要: Runnable接口 a.       该接口只有一个方法:public void run(); b.       实现该接口的类必须覆盖该run方法 c.       实现了Runnable接口的类并不具有任何天

Runnable接口

a.       该接口只有一个方法:public void run();

b.       实现该接口的类必须覆盖该run方法

c.       实现了Runnable接口的类并不具有任何天生的线程处理能力,这与那些从Thread类继承的类是不同的

d.       为了从一个Runnable对象产生线程,必须再单独创建一个线程对象,并把Runnable对象传递给它。

 

实例:

package com.bijian.thread;

/*
 * 图形抽象类
 */
public abstract class Shape {

	abstract void draw ();
}

 

package com.bijian.thread;

public class Rectangle extends Shape implements Runnable {
	private int w, h;

	Rectangle() {
		// Create a new Thread object that binds to this runnable and start
		// a thread that will call this runnable's run() method
		new Thread(this).start();
	}

	Rectangle(int w, int h) {
		if (w < 2)
			throw new IllegalArgumentException("w value " + w + " < 2");
		if (h < 2)
			throw new IllegalArgumentException("h value " + h + " < 2");
		this.w = w;
		this.h = h;
	}

	void draw() {
		for (int c = 0; c < w; c++)
			System.out.print('*');
		System.out.print('\n');
		for (int r = 0; r < h - 2; r++) {
			System.out.print('*');
			for (int c = 0; c < w - 2; c++)
				System.out.print(' ');
			System.out.print('*');
			System.out.print('\n');
		}
		for (int c = 0; c < w; c++)
			System.out.print('*');
		System.out.print('\n');
	}

	public void run() {
		for (int i = 0; i < 5; i++) {
			w = rnd(30);
			if (w < 2)
				w += 2;
			h = rnd(10);
			if (h < 2)
				h += 2;
			draw();
		}
	}

	int rnd(int limit) {
		// Return a random number x in the range 0 <= x < limit
		return (int) (Math.random() * limit);
	}
}

 

package com.bijian.thread;

public class RunnableDemo {

	public static void main(String[] args) {
		Rectangle r = new Rectangle(5, 6);
		r.draw();
		// Draw various rectangles with randomly-chosen widths and heights
		new Rectangle();
	}
}

 

说明:

Rectangle r = new Rectangle(5, 6);

r.draw();

这两句代码会输出一个长5*、宽6*的矩形

 

new Rectangle();

这名代码会启动Rectangle构造方法中的线程,调用此类中的run方法,循环输出5个长和宽随机大小的矩形。

 

Runnable接口使用实例

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

编辑推荐
进行并发程序设计,首先必须对多线程有足够的了解。在JAVA语言中,多线程通常通过Thread类和Runnabl
进行并发程序设计,首先必须对多线程有足够的了解。在JAVA语言中,多线程通常通过Thread类和Runnabl
//仅作为学习笔记 /* 需求: 实现一个售票程序 创建线程的第二种方式:实现Runnable接口 步骤: 1,
要产生一个线程,有两种方法: ◆需要从Java.lang.Thread类派生一个新的线程类,重载它的run()方法
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放
Java中线程的创建有两种方式: 1. 通过继承Thread类,重写Thread的run()方法,将线程运行的逻辑放
反例A public class ThreadTest { static int k = 0; static long time; public static void main(S
转自:http://blog.csdn.net/liujun13579/article/details/7736116 一、定义 Java接口(Interface)
接口是把隐式公共方法和属性组合起来,以封装特定功能的一个集合。一旦定义了接口,就可以在类中实
转自:http://blog.csdn.net/liujun13579/article/details/7736116 一、定义 Java接口(Interface)
版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号