基本线程机制
线程运行时,是当前系使用时间片机制为线程分配其占用的时间(一个线程运行一段时间再切换到其他线程,不能一直占着CPU)。每个任务都觉得一直占着cpu,但事实上cpu是划分时间片的。
一、定义任务
java中实现runnable,或继承Thread 类实现线程
public class LiftOff implements Runnable {
protected int countDown = 10; // Default
private static int taskCount = 0;
private final int id = taskCount++;//id可以标是一个线程实例,每新增一个线程则加1
public LiftOff() {
}
public LiftOff(int countDown) {
this.countDown = countDown;
}
public String status() {
return "#" + id + "(" + (countDown > 0 ? countDown : "LiftOff!") + ") ";
}
@Override
public void run() {
while (countDown-- > 0) {
System.out.print(status());
Thread.yield();
}
}
}
Thread.yield 用来暂时释放cpu,但不释放锁