本章主要学习线程的静态方法

1、先忙先看一段代码:

public class MyThread3 implements Runnable {static {System.out.println("static方法打印:"+Thread.currentThread().getName());}public MyThread3(){System.out.println("购置方法打印:"+Thread.currentThread().getName());}@Overridepublic void run() {System.out.println("run方法打印:"+Thread.currentThread().getName());}
}

运行结果:

static方法打印:main
购置方法打印:main
run方法打印:Thread-0

以上可以看出:线程类的构造方法、静态块是被main线程调用的,而线程类的run()方法才是应用线程自己调用的。

2、sleep()

sleep(long millis)方法的作用是在指定的毫秒内让当前"正在执行的线程"休眠(暂停执行)。这个"正在执行的线程"是关键,指的是Thread.currentThread()返回的线程。根据JDK API的说法,"该线程不丢失任何监视器的所属权",简单说就是sleep代码上下文如果被加锁了,锁依然在,但是CPU资源会让出给其他线程。

3、wait()使线程停止运行,notify()使停止运行的线程继续运行

转载于:https://www.cnblogs.com/bestxyl/p/8709923.html

java多线程学习三相关推荐

  1. Java多线程学习三十八:你知道什么是 CAS 吗

    CAS 简介 CAS 其实是我们面试中的常客,因为它是原子类的底层原理,同时也是乐观锁的原理,所以当你去面试的时候,经常会遇到这样的问题"你知道哪些类型的锁"?你可能会回答&quo ...

  2. Java多线程学习三十七:volatile 的作用是什么?与 synchronized 有什么异同

    volatile 是什么 首先我们就来介绍一下 volatile,它是 Java 中的一个关键字,是一种同步机制.当某个变量是共享变量,且这个变量是被 volatile 修饰的,那么在修改了这个变量的 ...

  3. Java多线程学习三十六:主内存和工作内存的关系

    CPU 有多级缓存,导致读的数据过期 由于 CPU 的处理速度很快,相比之下,内存的速度就显得很慢,所以为了提高 CPU 的整体运行效率,减少空闲时间,在 CPU 和内存之间会有 cache 层,也就 ...

  4. Java多线程学习三十三:Future 的主要功能是什么?

    Future 类 Future 的作用 Future 最主要的作用是,比如当做一定运算的时候,运算过程可能比较耗时,有时会去查数据库,或是繁重的计算,比如压缩.加密等,在这种情况下,如果我们一直在原地 ...

  5. Java多线程学习三十一:ThreadLocal 是用来解决共享资源的多线程访问的问题吗?

    ThreadLocal 是不是用来解决共享资源的多线程访问的. 这是一个常见的面试问题,如果被问到了 ThreadLocal,则有可能在你介绍完它的作用.注意点等内容之后,再问你:ThreadLoca ...

  6. Java多线程学习三十:ThreadLocal 适合用在哪些实际生产的场景中

    我们在学习一个工具之前,首先应该知道这个工具的作用,能带来哪些好处,而不是一上来就闷头进入工具的 API.用法等,否则就算我们把某个工具的用法学会了,也不知道应该在什么场景下使用.所以,我们先来看看究 ...

  7. Java多线程学习三:有哪几种实现生产者消费者模式的方法

    我们先来看看什么是生产者消费者模式,生产者消费者模式是程序设计中非常常见的一种设计模式,被广泛运用在解耦.消息队列等场景.在现实世界中,我们把生产商品的一方称为生产者,把消费商品的一方称为消费者,有时 ...

  8. Java多线程学习三十九:CAS 有什么缺点?

    CAS 有哪几个主要的缺点. 首先,CAS 最大的缺点就是 ABA 问题. 决定 CAS 是否进行 swap 的判断标准是"当前的值和预期的值是否一致",如果一致,就认为在此期间这 ...

  9. Java多线程学习三十五: CyclicBarrier 和 CountDownLatch 有什么不同

    CyclicBarrier 和 CountDownLatch 有什么不同? CyclicBarrier作用 CyclicBarrier 和 CountDownLatch 确实有一定的相似性,它们都能阻 ...

最新文章

  1. 选择适合页面或应用程序的数据查看机制
  2. linux进程--fork详解(三)
  3. shell实例第17讲:连续输入4个100以内的数字,统计和、乘、平均、最小和最大
  4. 动态加载JS脚本的4种方法
  5. 【学亮说】Java实现单例模式的8种方式(你真的搞懂单例模式了吗?)
  6. cocos2d-x游戏实例(14)-纵版射击游戏(1)
  7. 基于Android NDK的交叉编译
  8. QT对象树、信号和槽机制
  9. 【数字逻辑设计】基本逻辑门
  10. r语言 计算模型的rmse_直播丨R语言与作物模型高级应用实战技术应用
  11. 【vue开发问题-解决方法】(九)使用element upload自定义接口上传文件,input多文件上传
  12. zxr10交换机配置手册vlan_中兴ZXR10交换机配置
  13. 关于“缓存着色(cache coloring, page coloring)”技术的相关资料介绍
  14. 【计算机毕业设计】外卖点餐源码
  15. 如何防止驱动被恶意利用
  16. 2021 ICPC Gran Premio de Mexico 1ra Fecha
  17. python实践输出星星_打印星星 - Python
  18. 百度地图自定义覆盖物,在手机上无法监听click事件
  19. Node.js的环境搭建方法和 npm 的使用方法
  20. 联想T430 安装msata接口的SSD固态硬盘

热门文章

  1. 「NLP」 深度学习NLP开篇-循环神经网络(RNN)
  2. 在SAP PI中建立场景
  3. 解读 | Arm 机器学习处理器的独特之处
  4. 华为全新发布开源操作系统欧拉:覆盖数字基础设施全场景
  5. 400多家单位、30余万科研人员,10多年奋斗!北斗卫星核心器件实现100%国产!(附:北斗研发建设历程​)...
  6. 这是我看过,最好懂的神经网络
  7. 《崛起的超级智能》入选中国好书2019年7月榜单
  8. 《瓦森纳协定》——光刻机为什么就是不卖给中国!
  9. 电动汽车:新一轮三年十倍,“补贴”结束“高端”开启
  10. AI博弈论:DeepMind让智能体在非对称博弈中找纳什均衡