游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1801|回复: 4

请教个有关线程很菜的问题

[复制链接]

60

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
QQ
发表于 2007-7-30 07:16:00 | 显示全部楼层 |阅读模式
假如有5个相同优先级的线程(单cpu),是不是这5个线程在去掉其他情况下(比如因某个原因挂起),获得的运行时间就会相同呢?

89

主题

822

帖子

847

积分

高级会员

Rank: 4

积分
847
发表于 2007-7-30 08:51:00 | 显示全部楼层

Re:请教个有关线程很菜的问题

这个跟操作系统有关,如果是协作式操作系统,要求占用CPU的任务主动释放其他任务的资源,这种基本上被淘汰了,没有哪个任务会这么“主动”,现代的操作系统基本上是抢占式的多任务系统,这种情况下也有多种方式,一是先来先服务FIFO,还有一种是实时轮转,也就是在说第一种情况下有可能分配的时间片是不同的,操作系统会随时把一个任务未花费的时间分配给其他的任务,在第二种情况下时间片基本上可能是相同的,如果一个任务提前滑完了时间片,必须等其他的任务也消耗同样的时间片才能重新分配到新的(中断指令除外)。

无论是Linux还是Windows,都是抢占式多任务系统,而且具备多种时间分配方式,写多任务程序的时候尤其需要注意,尽可能的把时间分配给需要的任务,不重要的线程就让他多Sleep一下。

哈哈,我是这么想的

60

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
QQ
 楼主| 发表于 2007-7-30 20:18:00 | 显示全部楼层

Re:请教个有关线程很菜的问题

那怎样让windows下的多线程程序实时轮转?

14

主题

345

帖子

376

积分

中级会员

Rank: 3Rank: 3

积分
376
QQ
发表于 2007-7-30 23:11:00 | 显示全部楼层

Re:请教个有关线程很菜的问题

要不自己写个manager.........

60

主题

134

帖子

134

积分

注册会员

Rank: 2

积分
134
QQ
 楼主| 发表于 2007-7-31 18:03:00 | 显示全部楼层

Re: Re:请教个有关线程很菜的问题

xoyojank: Re:请教个有关线程很菜的问题

要不自己写个manager.........

我只学了一章线程有关的知识,约40页吧,不是太懂你的意思,哪位能详细说明呢?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-25 15:42

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表