①什么是进程、线程,它们的区别
进程是正在运行的程序,是操作系统分配系统资源(CPU、内存)的最小单位。
进程是由多个线程组成的,是操作系统调度CPU的最小单元,每个线程可以单独执行指令
进程更加重量级,操作系统创建和销毁进程需要更多的时间和资源,进程的相互通信更加复杂
线程更加轻量级,操作系统创建和销毁线程消耗时间和资源更少,同一个进程的线程可以共享内存空间,通信更容易。
下图为计算机的组成概念
②线程的生命周期
③线程中的常用方法
sleep方法和wait方法都可以让线程进入阻塞状态,区别:
-
调用对象不同:sleep是线程调用的,wait是锁对象(Object)调用的
-
释放锁不同:sleep不会让线程释放锁,wait会让线程释放锁
-
唤醒机制不同:sleep只能等睡眠时间结束,wait可以等时间结束也可以通过notify方法唤醒