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();
}
控制台打印: