基于java 线程的几种状态

Java线程状态总结如下:
1 . New(新建):线程对象被创建但未启动。
2 . 运行:一旦启动,线程就等待CPU分配。
3 .执行:线程接收CPU资源并执行任务。
4 .阻塞。
线程由于正在等待资源或某些条件而暂停执行。

等待阻塞:线程调用wait()方法。

同步锁:线程获取锁失败。

其他阻塞:线程调用Sleep()或join()。
5 .死亡:线程终止执行或崩溃。

线程与线程池

1 . 线程有5 种状态:NEW、RUNNABLE、RUNNING、BLOCKED、TERMINATED。

2 实现线程有两种方法:通过Runnable接口和通过继承Thread类。

3 start()启动一个线程,run()是线程的执行方法。

4 Thread.sleep() 阻塞线程,Thread.yield() 礼貌线程。

5 wait()和sleep()的区别:wait()是对象方法,sleep()是Thread类的静态方法; wait() memerlukan disegerakkan; sleep() 没有。

6 用户线程和守护线程:用户线程是程序运行的主体,守护线程为用户线程服务。

7 调用线程有两种方法:start() 和通过 Executor。

8 停止线程的三种方法:interrupt()、exit flag、stop()(不推荐)。

9 线程池有 5 种状态:运行、关闭、停止、组织和终止。

1 0 shutdown()和stop()的区别:shutdown关闭缓慢,stop中断粗暴。

1 1 ThreadPoolExecutor参数:corePoolSize、maximumPoolSize、keepAliveTime等
1 2 .线程循环调用:使用ScheduledExecutorService来调度任务。