VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1266|回复: 10

请教线程sleep和suspend具体有什么区别?

[复制链接]

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
发表于 2020-3-7 11:00:01 | 显示全部楼层 |阅读模式
这两个具体有什么区别啊?在有些地方我将线程suspend还是占有很高的cpu,而换成sleep就不会占用;
有些地方我随便用哪个都没事
有人知道为什么吗?
回复

使用道具 举报

0

主题

52

帖子

34.00

积分

新手上路

Rank: 1

积分
34.00
发表于 2020-5-25 12:30:01 | 显示全部楼层
挂起和阻塞的区别

看看大学操作系统的书 呵呵
回复

使用道具 举报

0

主题

27

帖子

21.00

积分

新手上路

Rank: 1

积分
21.00
发表于 2020-5-26 20:45:01 | 显示全部楼层
简单的说suspend是暂停你当前的线程,你可以用resume来恢复,可是用sleep就必须要等到time到的时候才可以恢复,而且sleep是暂停你的当前进程,不是当前线程。
回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-5-28 10:45:01 | 显示全部楼层
.net 里面sleep和suspend都可以设置无限时间,直到其它线程唤醒啊,这样他们有区别吗?
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-5-28 23:30:01 | 显示全部楼层
具体区别楼上几位都说得差不多了..

建议最好不要用Suspend,对于挂起线程可以换用互斥量或标志位等方法来实现..
回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-6-11 10:45:02 | 显示全部楼层
sleep也不是暂停当前进程吧?应该也是线程吧。。。
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-6-29 19:45:01 | 显示全部楼层
TO:sleep也不是暂停当前进程吧?应该也是线程吧。。。

那看你具体用在什么地方了..
回复

使用道具 举报

0

主题

110

帖子

63.00

积分

新手上路

Rank: 1

积分
63.00
发表于 2020-6-29 22:45:01 | 显示全部楼层
TO:.net 里面sleep和suspend都可以设置无限时间,直到其它线程唤醒啊,这样他们有区别吗?

sleep要等到时间到了,会自动被唤醒,而suspend则要调用resume来唤醒...

还是有点不一样啊..

回复

使用道具 举报

1

主题

5

帖子

6.00

积分

新手上路

Rank: 1

积分
6.00
 楼主| 发表于 2020-7-23 01:45:02 | 显示全部楼层
sleep时 可以用interruput唤醒,在sleep的线程会抛出一个异常。这个跟resume也差不多吧?
我想问的是在处于sleep和suspend状态下的线程有区别吗?
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-7-23 12:15:01 | 显示全部楼层
挂起很容易出错的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

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