
Linux线程编程
文章平均质量分 90
本专栏主要介绍linux线程方面的基础及调度等方面。
楓潇潇
这个作者很懒,什么都没留下…
展开
-
Linux线程编程(三)
3 Resetting scheduling policy for child processes每个线程都有一个reset-on-fork调度标识。当设置该标识后,使用fork(2)创建的子进程不会继承特权调度策略。可以通过如下方式设置reset-on-fork:在调用sched_setscheduler(2)时,将SCHED_RESET_ON_FORK 标识作为policy参数在调用sched_setattr(2)时,将SCHED_FLAG_RESET_ON_FORK 设置为attr.sched原创 2021-01-28 12:30:27 · 1181 阅读 · 0 评论 -
Linux线程编程(二)
2 Linux线程调度策略内核使用调度器来决定下一个CPU时钟周期执行的线程。每个线程都包含一个调度策略及一个静态的调度优先级sched_priority,调度器根据系统上所有的线程的调度策略和静态优先级来决定如何进行调度。对于使用普通调度策略(SCHED_OTHER, SCHED_IDLE, SCHED_BATCH)的线程来说,sched_priority并不会影响调度结果,且必须设置为0。对于使用实时策略(SCHED_FIFO,SCHED_RR)的进程,其sched_priority取值为1到9原创 2021-01-28 11:53:35 · 749 阅读 · 1 评论 -
Linux线程编程(一)
1 Linux线程基础1.1 基本概念1.1.1 进程概念进程是表示资源分配的基本单位,又是调度运行的基本单位。例如,用户运行自己的程序,系统就创建一个进程,并为它分配资源,包括各种表格、内存空间、磁盘空间、I/O设备等。然后,把该进程放人进程的就绪队列。进程调度程序选中它,为它分配CPU以及其它有关资源,该进程才真正运行。所以,进程是系统中的并发执行的单位。在Mac、Windows NT等采用微内核结构的操作系统中,进程的功能发生了变化:它只是资源分配的单位,而不再是调度运行的单位。在微内核系统中原创 2021-01-28 11:32:31 · 235 阅读 · 0 评论