查了一些资料,感觉区别如下:(不知道准不准确,还求大佬指点)
挂起(suspend) 进程的状态分为两种,就绪挂起和阻塞挂起。两种状态都不会消耗CPU资源,就绪挂起状态的进程占用内存,阻塞挂起状态的进程原来占用的内存,包括PCB,会被调到外存,所以可以认为阻塞挂起状态会释放原先占用的内存。
阻塞进程(wait)和睡眠进程(sleep) 其实只有阻塞进程这一种说法。对于进程的七态模型而言,其实并没有睡眠这种状态。所以,“睡眠进程”这种说法并不存在,只是在线程这个层面有意义。对于阻塞进程,不再消耗CPU资源,但占用内存资源。释放锁与否,个人尚不清楚在进程这个层面是怎么样的,但在线程这个层面,wait线程会释放锁,而sleep不会