进程和线程的区别

1.进程是资源分配的最小单位,线程是CPU调用的最小单位

2.一个线程只能属于一个进程,一个进程可以有多个线程,但至少有一个线程,线程依赖于进程而存在

3.进程在执行过程中拥有独立的地址空间,而多个线程共享进程的内存空间

4.进程间不会相互影响,一个进程中某个线程挂掉会导致整个进程挂掉

5.进程编程调试简单,但创建开销大;线程编程调试复杂,但创建开销小,切换速度快。

进程同步的方法

1.锁(互斥锁、读写锁、记录锁)

2.条件变量

3.信号量

4.屏障

进程间的通信方式

1.管道

2.IPC(InterProcess Communication)

3.socket

并发/并行

1.并行是不同实体上的多个事件,并发是同一实体上的多个事件

2.并行是在多台处理器上同时处理多个任务,如Hadoop分布式集群

3.并行是指两个或多个事件在同一时刻发生;并行是指多个事件在同一事件间隔发生

并发编程的目标是充分利用处理器的每一个核,以达到最高的处理性能