并发和并行

并发和并行

并发:指的是任务数多于cpu核数,通过操作系统的各种任务调度算法,实现多个任务”一起执行”

(实际上总有一些任务不在执行,因为切换任务的速度相当快,看上去一起执行而已)

并行:指的是任务数小于等于cpu核数,即任务真的是一起执行

img

同步、异步

同步:指线程在访问某一资源时、获得了返回结果才会执行下一步

异步:指线程在访问某一资源时,无论是否取得返回结果,都会执行下一步操作;当有了资源返回结果时,系统会自动通知线程