学习java多线程
package com.haole.testdemo1;
class RunnableDemo3 implements Runnable{
private String name;
private Thread x;
RunnableDemo3(String a){
name=a;
}
@Override
public void run() {
for (int i = 0; i < 4; i++) {
System.out.println("线程:"+name+" "+"循环编号"+i);
try {
Thread.sleep(500);
} catch (InterruptedException e) {
throw new RuntimeException(e);
}
}
}
public void start(){
if (x==null){
x=new Thread(this,name);
x.start();
}
}
}
public class Test {
public static void main(String[] args) {
RunnableDemo3 runnableDemox = new RunnableDemo3("x");
RunnableDemo3 runnableDemoy = new RunnableDemo3("y");
runnableDemox.start();//注意这里不能写run()
runnableDemoy.start();
}
}
直接调用run()方法,会像普通方法一样在当前线程中顺序执行run()方法的内容,这并不会启动一个新的线程。也就是这里是顺序执行,不是异步执行。
调用start()方法会创建一个新的线程,并在新的线程中并行执行run()方法的内容。
标签:run,start,线程,new,java,多线程,RunnableDemo3,public From: https://www.cnblogs.com/vastjoy/p/18474952