java基础--线程
1 并行和并发有什么区别
- 并行是指两个或多个事件在同一时刻发生;而并发是指两个或多个事件在同一时间间隔发生
- 并行是在不同尸体上的多个事件,并发实在同一实体上的多个事件
- 一台处理器上同时处理多个任务,在多台处理器上同时处理多个任务
2 线程和进程的区别
- 进程:进程是程序运行和资源分配的基本单位,一个程序至少有一个进程,一个进程至少有一个线程。进程在执行过程中拥有独立的内存单元,而多个线程共享内存单元,减少钱花次数,从而效率更高
- 线程:线程是进程的一个实体,是cpu调度和分派的基本单位,是比程序更小的能独立运行的基本单位。同一个进程中的多个线程之间可以并发执行
3 守护线程是什么
- 守护线程是服务线程,准确的来说就是服务其他的线程
4 创建线程的几种方式
- 继承Thread类创建线程
- 实现Runnable接口创建线程
- 通过Callable和Future船舰线程
- 通过线程池创建线程
5 Runnable和Callable有什么区别
- Runnable接口中的run方法返回值是void,他做的事情就是执行run方法中的代码
- Callable接口中的call方法是有返回值的,是一个泛型,和Future,FutureTask配合可以用来获取异步执行结果
6 线程状态即转换
- Thread源码中定义了6中状态:new,runnable, blocked, waiting, time waiting和terminated