Java笔记-多线程之用匿名内部类创建线程

介绍


有时候我们只需要一个线程运行一次,那么我们可以使用匿名内部类创建线程的方法来创建线程。


三种创建方法


1.Thread子类匿名内部类


代码演示如下:

public static void main(String[] args) {
	new Thread() {
		@Override
		public void run() {
			for (int i = 0; i < 50; i++) {
				System.out.println("这是Thread子类的匿名内部类创建线程--->" + i);
			}
		}
	}.start();
}

2.Runnable接口匿名内部类


代码演示如下:

public static void main(String[] args) {
	new Thread(new Runnable() {
		@Override
		public void run() {
			for (int i = 0; i < 50; i++) {
				System.out.println("这是实现Runnable接口的匿名内部类-->" + i);
			}
		}
	}).start();
}

3.Thread子类和Runnable接口一起使用


注意:这种方式实际开发中,没有人使用,很无聊,但是面试可能会问到,究竟start()哪个线程?

就近原则:运行Thread子类覆写run()方法的线程。

代码演示如下:

public static void main(String[] args) {
	new Thread(new Runnable() {
		@Override
		public void run() {
			System.out.println("这是实现Runnable接口的匿名内部类");
		}
	}) {
		@Override
		public void run() {
			System.out.println("这是Thread子类覆写run方法的匿名内部类");
		}
	}.start();
}
//输出:这是Thread子类覆写run方法的匿名内部类

你可能感兴趣的:(JavaSE,JavaSE-多线程)