查看: 56|回复: 0
收起左侧

每日面试题之sleep.yeild,wait、join的用法?

[复制链接]

升级   35.2%

 成长值: 130
  • TA的每日心情
    开心
    昨天 08:57
  • 签到天数: 26 天

    连续签到: 2 天

    [LV.4]偶尔看看III

    43

    主题

    72

    帖子

    676

    积分

    高级会员

    Rank: 4

    积分
    676
    发表于 2021-1-7 09:19:03 | 显示全部楼层 |阅读模式

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    sleep(time)方法是把线程暂停,时间到了自动会开始

    wait方法可以使用notify(唤醒当前线程)和notifyAll(唤醒全部线程)

    yield()的作用是让步,它能够让当前线程从“运行状态”进入到“就绪状态”,从而让其他等待线程获取执行权,但是不能保证在当前线程调用yield()之后,其他线程就一定能获得执行权,也有可能是当前线程又回到“运行状态”继续运行
    举个栗子:一帮朋友在排队上公交车,轮到Yield的时候,他突然说:我不想先上去了,咱们大家来竞赛上公交车。然后所有人就一块冲向公交车,有可能是其他人先上车了,也有可能是Yield先上车了。

    join方法是等待线程完成之后再执行其他线程,
    举个栗子:主线程里面有个子线程,主线程需要用到子线程的值,那么则需要等待子线程完成之后再继续执行主线程,这时候就要用到join方法

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

    本版积分规则

    Archiver|手机版|Status| FEI软件技术社区 ( 冀ICP备12003293号-9 )

    GMT+8, 2021-3-3 04:21 , Processed in 0.195513 second(s), 26 queries .

    Powered by Discuz!

    Copyright © 2001-2020, Tencent Cloud.

    Copyright © 2021 RENFEI.NET All rights reserved.
    快速回复 返回顶部 返回列表