并行和并发

我已经理解了并发和并行的区别

总结
并行和串行:
•串行:一次只能取得一个任务并执行这一个任务
•并行:可以同时通过多进程/多线程的方式取得多个任务,并以多进程或多线程的方式同时执行这些任务
•注意点: ◦如果是单进程/单线程的并行,那么效率比串行更差
◦如果只有单核cpu,多进程并行并没有提高效率
◦从任务队列上看,由于同时从队列中取得多个任务并执行,相当于将一个长任务队列变成了短队列

并发:
•并发是一种现象:同时运行多个程序或多个任务需要被处理的现象
•这些任务可能是并行执行的,也可能是串行执行的,和CPU核心数无关,是操作系统进程调度和CPU上下文切换达到的结果
•解决大并发的一个思路是将大任务分解成多个小任务: ◦可能要使用一些数据结构来避免切分成多个小任务带来的问题
◦可以多进程/多线程并行的方式去执行这些小任务达到高效率
◦或者以单进程/单线程配合多路复用执行这些小任务来达到高效率

你可能感兴趣的:(并行和并发)