线程的状态
            1.New:新建状态。就是对象刚被new出,还有start()。
            2.Runnable:可运行状态。调用start(),此时线程就是Runnable状态,可能正在运行也可能没有运行(取决于操作系统提供的运行时间)。
            3.Blocked:阻塞状态。
            4.Waiting:等待状态。线程暂时不活动,并且不运行任何代码,这此时线程消耗资源最小,直到线程调度器重新激活。
            5.Time waitiing 超时等待装填。        PS:和Wating 状态的区别是它可以在指定的时间自行返回。
            6.Terminated:终止状态。表示当前线程已经执行完毕。        
        PS:1.run方法执行完毕正常退出;    2.没有捕获异常而终止run方法,线程终止。

sleep() 
        sleep()方法需要指定等待的时间,进入阻塞状态,让其他同优先级或者高优先级的线程得到执行的机会,
        也可以让低优先级的线程得到执行机会。
        注:sleep()方法不会释放“锁标志”,也就是说如果有synchronized同步块,其他线程仍然不能访问共享数据。

wait() 
        wait()、notify()及notifyAll(),这三个方法用于协调多个线程对共享数据的存取,必须在synchronized语句块内使用,调用wait(), notify()和notifyAll()的任务在调用这些方法前必须拥有对象的锁。注意,它们都是Object类的方法,而不是Thread类的方法。 
        注:wait()方法会释放对象的“锁标志”。当调用某一对象的wait()方法后,会使当前线程暂停执行,并将当前线程放入对象等待池中,直到调用了notify()方法后,将从对象等待池中移出任意一个线程并放入锁标志等待池中,只有锁标志等待池中的线程可以获取锁标志, 它们随时准备争夺锁的拥有权。当调用了某个对象的notifyAll()方法,会将对象等待池中的所有线程都移动到该对象的锁标志等待池。 
        除了使用notify()和notifyAll()方法,还可以使用带毫秒参数的wait(long timeout)方法,效果是在延迟timeout毫秒后,被暂停的线程将被恢复到锁标志等待池。 
        此外,wait(),notify()及notifyAll()只能在synchronized语句中使用,但是如果使用的是ReenTrantLock实现同步时使用ReenTrantLock.newCondition()获取一个Condition类对象,然后Condition的await(),signal()以及signalAll()分别对应上面的三个方法。

yield() 
        yield()方法和sleep()方法类似,也不会释放“锁标志”,区别在于,它没有参数,即yield()方法只是使当前线程重新回到可执行状态,所以执行yield()
        的线程有可能在进入到可执行状态后马上又被执行,另外yield()方法只能使同优先级或者高优先级的线程得到执行机会,这也和sleep()方法不同。

join() 
        join()必须等被调用线程结束后才能返回。

撩妹方式,你值得拥有!!相关推荐

  1. 『设计模式』撩妹秘籍竟是使用设计模式的抽象工厂模式

    23种设计模式+额外常用设计模式汇总 (持续更新) 引入:可以跳过 如果存在一部撩妹的手机,加上一个后宫,请问你该怎么做? 砸了手机,跟老婆孩子好好过日子,本篇文章到此结束! 我们强行分析一波,假设存 ...

  2. 用计算机隐藏功能撩妹,对于撩妹,华为手机隐藏功能可以帮你,确定不来了解一下?...

    对于撩妹,华为手机隐藏功能可以帮你,确定不来了解一下?现在有很多的人在使用华为手机,其实无论从性能上还是从留存多少个品牌的手机还是非常好的,他在华为的手机中有一些独特的功能,想必很多的消费者是不知道的 ...

  3. 【实战篇】| 小鹿教你用动态规划撩妹的正确方式

    作者 |  小鹿 来源 |  一个不甘平凡的码农 都说程序员是直男,聊天聊不过三句,看下边这位朋友求助小鹿,抱怨说,学习数据结构那么难,除了优化程序算法,其他的啥都不能干,学它干啥,哎,撩个妹子都撩不 ...

  4. 用动态规划撩妹的正确方式

    Linux编程 点击右侧关注,免费入门到精通! 作者 |  小鹿 来源 |  一个不甘平凡的码农 都说程序员是直男,聊天聊不过三句,看下边这位朋友求助小鹿,抱怨说,学习数据结构那么难,除了优化程序算法 ...

  5. 撩妹代码html,火热的程序员表白方式,调皮弹窗表白代码,赶紧拿去试试吧

    七夕快到了,在抖音看那些大手子用代码撩自己喜欢的小姐姐是不是心痒难耐,愤恨不已,是不是也想撩一撩自己喜欢的小姐姐,那就来试试吧! 其实这用的只是很基础的VB脚本代码就能做出来了,而这次小编专门收集了一 ...

  6. 5.20,听我说,如何更优雅的撩妹 OR 撩汉?

    您看此文用  ·  秒,转发只需1秒呦~ 首先,我本人作为该微信公众号管理运营者向广大读者们深表歉意,感谢你们每一位的支持.自公众号运营以来,一直坚持每日O点准时推文,牺牲掉了很多自己的周六日休息时间 ...

  7. 大三学生独自破解逆天AI模型:我只是把撩妹的时间,都用来研究机器学习了...

    问耕 发自 雁栖湖 量子位 出品 | 公众号 QbitAI GPT-2,一个逆天的AI. 今年2月,OpenAI首次对外公布了这个模型的存在.GPT-2写起文章来文思泉涌毫无违和感,无需针对性训练就能 ...

  8. 不再盯着男性发烧友,小米手机要去“撩妹”?

    (图片来源于网络) 文 | 易不二 来源 | 智能相对论(ID:aixdlun) 6月21日,雷军在微博官宣产品代号为"小仙女"的小米新手机:CC,而这一天,也是华为NOVA 5的 ...

  9. 情人节撩妹装逼小方法,一学就会

    文章目录 情人节撩妹小方法 情人节撩妹小方法 1.右键新建,选择新建文本文件(可以根据自己的需要修改名字). 2.打开新建的文本文件,输入如图的字符:msgbox("此处可替换成你想要出现的 ...

最新文章

  1. SpringBoot+SpringSecurity前后端分离+Jwt的权限认证(改造记录)
  2. LIVE555再学习 -- 初识
  3. 如何攻破容器持久化存储挑战?
  4. loss function
  5. 细数sass安装中遇到的坑
  6. 【NC54 三数之和】(待整理)
  7. get 参数太长怎么办_新买的手表表带太长了该怎么办?表带调节操作方法get你~...
  8. Linux工作笔记-根据PID查询进程是否存在(进程管理相关程序中常用)
  9. poj3050 穷竭搜索 挑战程序设计竞赛
  10. 实验 PBR 基于策略的路由
  11. Android导航栏高斯模糊,iOS 顶部高斯模糊导航栏 + 页面内容穿越底部导航栏效果...
  12. matlab gabor 滤波器
  13. 斐讯k2p 月光银 硬件版本A2-软件版本22.7.8.5 刷官改系统
  14. ssr使用mysql数据库_MySQL数据库安装与配置详解
  15. 2021年安全员-A证(江西省)新版试题及安全员-A证(江西省)考试试卷
  16. 五一放一天不调休,你能接受吗?
  17. 源码安装postgresql9.5.1
  18. IOS 将文字写绘制成图片并转换为像素数据
  19. Qt探索之旅(五)简单实现Mynotepad
  20. 【流媒体】视频点播流媒体服务器调研

热门文章

  1. 那周余嘉熊掌将得队对男上加男,强人所男、修!咻咻! 团队的Beta产品测试报告...
  2. 2021-02-22
  3. el-checkbox点击一个其他的全部都选中了
  4. 网络基础知识:10M、50M、100M宽带下载速率一般是多少?—Vecloud微云
  5. Windows10不用任何软件实现手机投屏到电脑
  6. 博学而笃志,切问而近思,仁在其中矣
  7. A detailed derivation for the Bias Variance tradeoff Decomposition
  8. 阿里巴巴编码规范 java认证记录
  9. MDK keil中在定义一个结构体的时候加点后面不出现结构体当中变量的提示
  10. 假期读好书——力荐《八位大学校长》