java中创建线程使用 Thread类和Runable接口的区别

java中创建线程使用 Thread类和Runable接口:

1.不管是类还是接口都要重写run方法

2.即使是使用了Runnable接口的类,最后也是需要借助Thread类来进行start();

3.使用Runnable接口可以实现数据的共享,比如车站卖票

a.首先是使用继承Thread类来创建一个线程类:

public static class MyThread2 extends Thread {
		public void run() {
			System.out.println("是MyThread2在run");
		}
	}

	@Test
	public void test2() {
		MyThread2 myThread2 = new MyThread2();
		myThread2.start();
	}

控制台:

b.下边是使用实现接口Runnable来创建一个线程类

public class MyThread1 implements Runnable {
		@Override
		public void run() {
			System.out.println("这个是MyThread1在run");
		}
	}

	@Test
	public void test3() {
		MyThread1 MyThread1 = new MyThread1();
		Thread th = new Thread(MyThread1);
		th.start();

	}

控制台:

c.测试我们数据共享的功能

public class MyThread1 implements Runnable {
		int n=10;
		@Override
		public synchronized void run() {
			for( int i=10;i>0;i++){
				if(n>0){
					System.out.println(n--);
				}
			}
			
		}
	}

	@Test
	public void test3() {
		MyThread1 MyThread1 = new MyThread1();
		Thread th = new Thread(MyThread1);
		Thread th5 = new Thread(MyThread1);
		th.start();
		th5.start();

	}

}

控制台打印:

d.使用内部类方式简化我们使用接口方式来创建线程类

@Test
	public void test3() {
		
		new Thread(new MyThread1() {
			public void run() {
				System.out.println("你好");
			}
		}).start();
		

	}

控制台打印:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值