进程和线程的区别
1.进程是资源分配的最小单位,线程是CPU调用的最小单位
2.一个线程只能属于一个进程,一个进程可以有多个线程,但至少有一个线程,线程依赖于进程而存在
3.进程在执行过程中拥有独立的地址空间,而多个线程共享进程的内存空间
4.进程间不会相互影响,一个进程中某个线程挂掉会导致整个进程挂掉
5.进程编程调试简单,但创建开销大;线程编程调试复杂,但创建开销小,切换速度快。
进程同步的方法
1.锁(互斥锁、读写锁、记录锁)
2.条件变量
3.信号量
4.屏障
进程间的通信方式
1.管道
2.IPC(InterProcess Communication)
3.socket
并发/并行
1.并行是不同实体上的多个事件,并发是同一实体上的多个事件
2.并行是在多台处理器上同时处理多个任务,如Hadoop分布式集群
3.并行是指两个或多个事件在同一时刻发生;并行是指多个事件在同一事件间隔发生
并发编程的目标是充分利用处理器的每一个核,以达到最高的处理性能