社区
Linux/Unix社区
帖子详情
系统怎么知道这个线程是空闲的?
betterzy
2006-04-18 02:07:55
如果一个进程里有几个线程,
而每个线程都是死循环,那系统怎么知道哪个线程是空闲的,那个线程是BUSY,在时间分配上倾向于BUSY的线程,或者需要我在代码上做什么手脚?
关于空闲和BUSY,我有个疑问:哪怕只有while(1){nop;},在CPU执行的时候,执行完这个语句,肯定有下个语句可以执行,除非程序挂起,那为什么有空闲和BUSY的区别呢?不好意思,我知道我的问题肯定很可笑,但还是望大家多多指点!
...全文
277
5
打赏
收藏
系统怎么知道这个线程是空闲的?
如果一个进程里有几个线程, 而每个线程都是死循环,那系统怎么知道哪个线程是空闲的,那个线程是BUSY,在时间分配上倾向于BUSY的线程,或者需要我在代码上做什么手脚? 关于空闲和BUSY,我有个疑问:哪怕只有while(1){nop;},在CPU执行的时候,执行完这个语句,肯定有下个语句可以执行,除非程序挂起,那为什么有空闲和BUSY的区别呢?不好意思,我知道我的问题肯定很可笑,但还是望大家多多指点!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
YanDong_8212
2006-04-19
打赏
举报
回复
看内核的调度算法
alaiyeshi
2006-04-19
打赏
举报
回复
task_struct
nevil
2006-04-19
打赏
举报
回复
其实一句话,只要你的进程/线程占用了CPU,就不是空闲的.
x86
2006-04-19
打赏
举报
回复
你如果调用sleep,那你的进程肯定就是空闲的。此外由于读设备或者等待数据之类的调用而造成的挂起也会让你的进程空闲。
举个例子,一个进程是一个while(1){}死循环,另一个进程包含大量read/write操作,当然是第一个进程占用的CPU资源多得多。
内核的调度对优先级相同的进程,基本上是一视同仁的,你可以稍微改变优先级。
fierygnu
2006-04-18
打赏
举报
回复
进程/线程的调度是内核最主要的任务,每个线程有不同的状态,有等待调度的,有空闲的,有阻塞的,等等。如果都是死循环,那就没有空闲进程了。
找本操作系统的书看一看。
面试题:
线程
是什么?多
线程
线程
在面试中已经是常客了,也是我们必备的知识点,关于
线程
,问的最多的便是
线程
是什么?为什么使用多
线程
?多
线程
的示例以及解决方案?
线程
池是什么? 一.
线程
是什么? 在Thread类中有这样的明确定义:
线程
是程序中执行的
线程
,Java虚拟机允许程序同时运行多个执行
线程
。 怎么创建一个
线程
呢? Thread中规定:有两种方法可以创建新的执行
线程
。 声明一个类是Thread类,该子类还应该覆盖Threa...
一个
线程
有多大?
一个
线程
占用JVM多大内存? java里每新起一个
线程
,jvm会向操作
系统
请求新起一个本地
线程
,此时操作
系统
会用
空闲
的内存空间来分配这个
线程
。所以java里
线程
并不会占用jvm的内存空间,而是会占用操作
系统
空闲
的内存空间。 jdk1.4默认的单个
线程
是占用256k的内存 jdk1.5+默认的单个
线程
是占用1M的内存 可以通过-Xss参数设定,一般默认就好 PCB:进程控制块 标识、文件、内存、优先级、上下文信息、状态、信号、I/O相关。 在32位平台下,
系统
会给一个进程分配4G的虚拟
系统
适合开启多少
线程
数量?
1.什么是上下文切换? 操作
系统
利用了时间片轮转的方式,CPU给每个任务都服务一定的时间,当前任务在执行完CPU时间片后,切换到另一个任务之前会保存自己的状态以便下次在切回这个任务时,可以在加载这个任务的状态。任务从保存到再加载的过程就是一次上下文切换。上下文切换意味着会消耗大量的CPU时间。 2.
线程
是如何执行的?
线程
的执行是由CPU进行调度的,一个CPU在同一时刻只会执行一个
线程
3.为什么要使用多
线程
? 3.1.从计算机底层来说
线程
可以比作是轻量级的进程,是程序执行的最小单位,
线程
间的切换和调度的
JavaScript是多
线程
还是单
线程
?
多
线程
要考虑
线程
之间的资源抢占,死锁,冲突之类一系列问题。JavaScript作为一门客户端脚本,貌似没有多
线程
的一些列问题。那么JavaScript是单
线程
还是多
线程
?通过查资料总结了JavaScript运行的原理。如下:一、为什么JavaScript是单
线程
?JavaScript语言的一大特点就是单
线程
,也就是说,同一个时间只能做一件事。那么,为什么JavaScript不能有多个
线程
呢?这样能...
RT-thread内核之
空闲
线程
空闲
线程
是
系统
线程
中一个比较特殊的
线程
,它具有最低的优先级,当
系统
中无其他
线程
可运行时,调度器将调度到
空闲
线程
。
空闲
线程
通常是一个死循环,永远不被挂起。RT-Thread实时操作
系统
为
空闲
线程
提供了钩子函数(钩子函数:用户提供的一段代码,在
系统
运行的某一路径上设置一个钩子,当
系统
经过这个位置时,转而执行这个钩子函数,然后再返回到它的正常路径上),可以让
系统
在
空闲
的时候执行一些特定的任务,例如
系统
运
Linux/Unix社区
23,125
社区成员
74,509
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章