Java多线程知识总结

1.进程和线程

进程 独立的运行环境 一个程序或一个应用;线程 进程中执行的一个任务 可以共享进程中的资源

2.多线程编程的好处

多个线程并发执行提高程序的执行效率

3.用户线程和守护线程

java程序中创建一个线程,即为用户线程;守护线程在后台执行不会阻止jvm终止,守护线程创建的子线程依然是守护线程

4.如何创建一个线程

继承Thread,实现Runnable接口

5.有哪些不同放入线程生命周期

start--->Runnable,线程调度器分配cpu--->Running

6.可以直接调用run方法么

直接调用run()行为就和普通方法无异,所以要在新的线程中执行我们的代码还得调用start()

7.如何让正在运行的线程暂停?

Thread.sleep(),此方法只能让线程暂停,不会终止线程,一旦从休眠中唤醒线程,其状态会变为Runnable,且根据线程调度会得到执行

8.线程调度器和时间分片

线程调度器,操作系统服务,负责为Runnable状态的线程分配cpu时间,一旦我们创建一个线程并启动它,便依赖于线程调度器的实现

9.java Timer

java.util.timer 是一个工具类,安排一个线程在未来的特定时间执行,可以用来安排一次性任务或者周期性任务

java.util.timerTask实现了Runnable接口的抽象类,需要去继承这个类来创建自己的定时任务并使用Timer去安排执行

10.什么是线程池,如何创建一个java线程池?
一个线程池管理了一组工作线程,同时包括了一个用于放置等待执行任务的队列

Executor用来创建一个线程池

java多线程知识总结

你可能感兴趣的:(Java多线程知识总结)