线程的常用方法
**特别说明:**join()是加入的意思,他加入以后其他线程进行等待,知道加入的线程执行完毕.
举例子
package org.thread.test;
public class TestMyThread02 {
public static void main(String[] args) {
MyRunnable mr = new MyRunnable();
try {
Thread th1 = new Thread(mr);
th1.setName("一号买票员");
th1.setPriority(10);
Thread.sleep(1000);
th1.start();
} catch (Exception e) {
// TODO: handle exception
}
Thread th2 = new Thread(mr);
th2.setName("二号卖票员");
th2.setPriority(1);
th2.start();
for (int i = 0; i < 20; i++) {
if(i==1) {
try {
th2.join();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
package org.thread.test;
/**
* 多线程Runnable
* */
public class MyRunnable implements Runnable{
//定义车站票的数量
private int ticket = 10;
@Override
public void run() {
for (int i = 0; i < 20; i++) {
if(this.ticket>0) {
this.ticket--;
System.out.println(Thread.currentThread().getName()+"买票"+this.ticket+"线程状态"+Thread.currentThread().getState());
}
}
}
}