
操作系统
文章平均质量分 83
操作系统
Schuyler_yuan
静听魔筝看花落,
穿着拖鞋抱着黄瓜啃
展开
-
常见的线程模型
线程之间的调度永远是一个复杂的话题,但是并发编程必然会涉及到操作系统对线程的调度。根据资源访问权限的不同,操作系统会把内存分为内核空间和用户空间,内核空间的指令代码具备直接调度计算机底层资源的能力,比如说 I/O 资源等;用户空间的代码没有访问计算底层资源的能力,需要通过系统调用等方式切换为内核态来实现对计算机底层资源的申请和调度。线程作为操作系统能够调度的最小单位,也分为用户线程和内核线程:用户线程由用户空间的代码创建、管理和销毁,线程的调度由用户空间的线程库完成(可能是编程语言层次的线程库),无原创 2022-05-30 22:51:05 · 914 阅读 · 0 评论 -
并发和串行、并行的概念
先抛开语言不管,只聊概念,说起并发,就很容易想到它和串行、并行的区别。串行:一次只能取得一个任务并执行这个任务,这个任务执行完后面的任务才能继续;并行:一次可以取得多个任务,并且可以同时执行这几个任务,几个任务在同一时刻互不干扰地同时执行;并发:一次可以取得多个任务,但是只能同时执行一个任务。同时安排若干个任务,这些任务可以彼此穿插着进行;有些任务可能是并行的,比如买菜、发邮件和去幼儿园的某些路途是重叠的,这时你的确同时在做三件事;但进菜市场和发邮件和接娃三者是互斥的,每个时刻只能完成其中一件。原创 2022-05-26 11:39:08 · 6632 阅读 · 0 评论