线程sleep和wait区别
1. sleep是thread方式,wait是object方法
2. sleep不强依赖sychronized,wait强依赖synchronized
3. sleep不会自动释放锁,wait会自动释放锁
4. sleep会自动唤醒, wait不会自动唤醒(除非设置了超时时间)
参考:https://blog.csdn.net/jiaomubai/article/details/125235039
进程和线程的区别
进程和线程都是操作系统进行资源管理的方式,进程是资源分配和调度的独立单元, 线程是CPU调度的基本单元
【包含】进程有独立的地址空间,包含寄存器、上下文、堆栈,同一个进程包含多个线程,线程共享这些资源,一个进程至少包含一个线程
【生命周期】进程通过fork创建,线程通过threadCreate创建,进程结束是他的所有线程将销毁,线程结束不会影响其他线程
【性能】线程是轻量级的,他的创建和销毁所需要的时间比进程小,所有操作系统的功能都是依靠线程完成的
【资源】线程对资源调用进行同步和互斥,因为共享同一进程的所有资源
【个性】线程有线程ID、寄存器,进程有进程控制块,私有属性不被共享,是一个进程或线程标志
线程通信的4种方式
1.通过volatile关键字
2.通过object类的wait/notify方法
3.通过condition的await/signal方式
4.通过join方法
参考:https://blog.csdn.net/weixin_43786099/article/details/119945831