OS给CPU调度的最小单位是线程还是进程?

ilovett 2004-03-26 09:12:34
如果程序是一个多线程程序,是否可以利用多CPU的优势,一个CPU跑一个线程?
...全文
2003 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
gagamazel 2004-04-05
  • 打赏
  • 举报
回复
超线程
但多线程要注意线程之间的
Daviescai 2004-04-04
  • 打赏
  • 举报
回复
什么说呢,每产生一次中断就进行一次分配。我也不知道哪叫什么。
ilovett 2004-04-03
  • 打赏
  • 举报
回复
什么是量程?
名牌大灰狼 2004-04-02
  • 打赏
  • 举报
回复
可以,即便是一个CPU你用多个线程也可以让程序跑快很多.如果是二个就更快了.完全可以多写几条.
ilovett 2004-04-02
  • 打赏
  • 举报
回复
to BLsoft(网龙) :
"一个CPU你用多个线程也可以让程序跑快很多"

不一定,如果某个线程有阻塞操作才如您所说,如果没有,各个线程都无阻塞地工作,
一个线程足够了,多个线程CPU还要花时间进行线程调度/切换,反而费时了
sonyg 2004-04-02
  • 打赏
  • 举报
回复
都不是!应该是量程
Mr-Chen 2004-03-30
  • 打赏
  • 举报
回复
to: lasor() ( )
你好象说的是消息吧!
ilovett 2004-03-30
  • 打赏
  • 举报
回复
楼上的,你举的那个例子是多线程的吗?
joymaoyong 2004-03-30
  • 打赏
  • 举报
回复
都不是, CPU 的running 是"时间片"..采用轮流线程的方式.
Thread1..Thread2...Thead3
CPU:
Thread1-> Thread1-->
Thread2-> Thread2-->
Thread3-> Thread3


tanyaliji 2004-03-30
  • 打赏
  • 举报
回复
当然是线程了。
bragg 2004-03-30
  • 打赏
  • 举报
回复
是线程!
lasor 2004-03-29
  • 打赏
  • 举报
回复
哈哈!win32平台也是有问题的!一个简单的例子可证明:
一个简单的对话框程序,主线程正执行OnTimer(...)函数,另建一线程显示一消息框AfxMessageBox(...),你猜怎么着?
只有OnTimer(...)返回后,AfxMessageBox(...)消息框才会出现。AfxMessageBox线程因OnTimer()线程而阻塞。
ilovett 2004-03-26
  • 打赏
  • 举报
回复
在unix/windows上,多线程程序都可以利用多CPU的优势?
greensofter 2004-03-26
  • 打赏
  • 举报
回复
完全可以!
会思考的草 2004-03-26
  • 打赏
  • 举报
回复
现代os都将线程作为最小调度单位,进程作为资源分配的最小单位。
wyjtnt 2004-03-26
  • 打赏
  • 举报
回复
CPU是按线程调度的!如果是多处理器的话多线程就有优势了!
smallbugworm 2004-03-26
  • 打赏
  • 举报
回复
可以
但要注意并行编程的问题
dancingbit 2004-03-26
  • 打赏
  • 举报
回复
在Windows中,进程是不活动的,只是作为线程的容器
在多CPU的机器,多线程软件的确可以利用这种优势
可以一个CPU跑一个线程
但多线程要注意线程之间的同步
Hawk_lp 2004-03-26
  • 打赏
  • 举报
回复
线程
kof99th 2004-03-26
  • 打赏
  • 举报
回复
当然可以了,win32平台的话,98之后的系统就可以。
加载更多回复(1)

2,641

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧