就绪:线程分配了CPU以外的全部资源,等待获得CPU调度执行:线程获得CPU,正在执行阻塞:线程由于发生I/O或者其他的操作导致无法继续执行,就放弃处理机,转入线程就绪队列挂起:由于终端请求,操作系统的要求等原因,导致挂起。

1、进程是独立运行的实体,有独立的资源分配;
2、同一进程的线程之间共享进程的资源;
3、所有的进程至少有一个执行线程;
4、线程的创建和切换代价比进程的小;线程间的通信方法:1、同一进程的线程之间通信的最简单办法就是使用全局变量;2、不同进程的线程之间通信需要通过下面进程间的通信来实现;进程间的通信方法:1、管道2、信号量3、共享内存4、消息队列5、套接字
1.进程是操作系统分配资源的基本单位。而线程通俗来讲就是一个进程中一个执行流。
Linux线程被挂起的原因有以下几种:
1. 等待I/O操作完成:当线程执行I/O操作时,如果I/O操作需要一定的时间才能完成,线程就会被挂起等待I/O操作完成。
2. 等待锁:当线程需要获取一个被其他线程持有的锁时,它就会被挂起等待锁的释放。
3. 调用sleep函数:当线程调用sleep函数时,它就会被挂起一段时间,等待指定的时间到达后再继续执行。
4. 调用wait函数:当线程调用wait函数等待子进程结束时,它就会被挂起等待子进程结束。
5. 调用pthread_join函数:当线程调用pthread_join函数等待其他线程结束时,它就会被挂起等待其他线程结束。
6. 调用信号处理函数:当线程接收到信号并调用信号处理函数时,它就会被挂起等待信号处理函数执行完毕。
7. 调用系统调用:当线程调用系统调用时,它就会被挂起等待系统调用完成。