1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 博学谷java百度网盘_博学谷javaee就业班百度云

博学谷java百度网盘_博学谷javaee就业班百度云

时间:2022-12-21 07:11:59

相关推荐

博学谷java百度网盘_博学谷javaee就业班百度云

线程在面试中已经是常客了,也是我们必备的知识点,关于线程,问的最多的便是线程是什么?为什么使用多线程?多线程的示例以及解决方案?线程池是什么?

一.线程是什么?

Thread类中有这样的明确定义:线程是程序中执行的线程,Java虚拟机允许程序同时运行多个执行线程。

1.线程有6种状态:新建,运行(可运行),阻塞,等待,计时等待和终止。

新建:当使用new操作符创建新线程时,线程处于“新建“状态

运行(可运行):调用start()方法

阻塞:当线程需要获得对象的内置锁,而该锁正在被其他线程拥有

等待:当线程等待其他线程通知调度表可以运行时

计时等待:对于一些含有时间参数的方法,如Thread类的sleep()

终止:当run()方法运行完毕或出现异常时

查看运行状态:Thread类的getState()方法

1)编写类ThreadState,实现Runnable接口

public class ThreadState implements Runnable {

public synchronized void waitForASecond() throws InterruptedException {

wait(500);//将当前线程暂时等待0.5秒或其他线程调用notify()或notifyAll()

}

public synchronized void waitForLong() throws InterruptedException {

wait();//永久等待,直到其他线程调用notify()或notifyAll()

}

public synchronized void notifyNow() throws InterruptedException {

notify();//唤醒由调用wait()方法进入等待状态的线程

}

@Override

public void run() {

try {

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。