欢迎关注微信公众号:数据科学与艺术 作者WX:superhe199
在Java中,线程有几个不同的状态,反映了线程在执行过程中的不同阶段,线程有其自己的生命周期和状态。。线程的生命周期可以分为以下几个状态:
Thread thread = new Thread();
Thread thread = new Thread();
thread.start();
Thread thread = new Thread(new Runnable() {
public void run() {
// 执行任务
}
});
thread.start();
Object lock = new Object();
Thread thread1 = new Thread(new Runnable() {
public void run() {
synchronized (lock) {
// 请求锁
}
}
});
Thread thread2 = new Thread(new Runnable() {
public void run() {
synchronized (lock) {
// 请求锁
}
}
});
thread1.start();
thread2.start();
Object lock = new Object();
Thread thread1 = new Thread(new Runnable() {
public void run() {
synchronized (lock) {
try {
lock.wait();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
Thread thread2 = new Thread(new Runnable() {
public void run() {
synchronized (lock) {
lock.notify();
}
}
});
thread1.start();
thread2.start();
Thread thread = new Thread(new Runnable() {
public void run() {
// 执行任务
}
});
thread.start();
// 线程执行完run()方法后终止
这些状态之间的转换是由Java虚拟机和操作系统控制的,而不是由程序员直接控制。程序员只能通过调用线程的方法来改变线程的状态。