随笔分类 -  java多线程

摘要:推荐网站:http://www.cnblogs.com/lovesqcc/p/9271781.html 阅读全文
posted @ 2018-07-21 15:57 python-data-machine 阅读(178) 评论(0) 推荐(0) 编辑
摘要:1.Thread类的join方法表示:当前线程执行结束再执行其它线程!在Thread类中有三个重载的方法分别是: 如上就是Thread类的3个重载方法! 大家注意一下:上面标记为红色的小红框的英文解释!以及无参的join方法,实际上调用的还是上面这个方法,如下源码所示: 如下Demo演示: 请 问程 阅读全文
posted @ 2017-08-01 12:11 python-data-machine 阅读(537) 评论(0) 推荐(1) 编辑
摘要:1.线程id可以通过Thread对象的getId()方法得到,在线程出了问题,为什么CPU占用这么高的时候,查的时候我们可以在堆栈信息中找到对应线程,然后干掉该线程就好! 2.而线程对象的getName方法可以获得该线程的线程名,线程名默认是Thread-数字,当然我们也可以自己指定线程名! 3.可 阅读全文
posted @ 2017-08-01 10:31 python-data-machine 阅读(1057) 评论(0) 推荐(0) 编辑
摘要:1.如下代码: 当大家运行这段代码的时候,可以通过JDK安装的bin目录下的jconsole工具来查看,当前运行的线程,如下所示: 从这里大家可以看到程序当前运行的线程是main线程和Thread-0线程! 这里可以看到当我们的main线程执行完毕之后,我们的应用程序并没有推出,这是为什么呢?这是因 阅读全文
posted @ 2017-07-31 10:49 python-data-machine 阅读(229) 评论(0) 推荐(0) 编辑
摘要:一、JVM介绍 1. 什么是JVM? JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个 阅读全文
posted @ 2017-07-30 20:28 python-data-machine 阅读(880) 评论(1) 推荐(4) 编辑
摘要:1.Thread类对象只有在调用了start()方法之后,JVM虚拟机才会给我们创建一个真正的线程!否则就不能说是创建了线程!也就是说new Thread()之后,此时实际上在计算机底层,操作系统实际上并没有为我们创建线程! 在我们new Thread();的时候,我们点击源码就可以看到: 实际上是 阅读全文
posted @ 2017-07-29 18:06 python-data-machine 阅读(606) 评论(0) 推荐(0) 编辑
摘要:如上图所示,我们这里模拟一下去车站买票的情形:这里有3个柜台同时售票,总共是1000张票,这三个柜台同时买票,但是只能一个柜台卖同一张票,也就是说1号票卖了之后我们就只能买2号票,2号票卖了之后我们只能买3号票!依次类推!直到卖完这1000张票,然后再从头开始卖票!如下代码演示: 上面这个类是The 阅读全文
posted @ 2017-07-29 08:13 python-data-machine 阅读(485) 评论(0) 推荐(0) 编辑
摘要:我想我们上面的这段代码已经很好的阐释了我们的标题要讲的知识点,这里要好好体悟,再一个就是:这个通过匿名类创建的匿名对象,然后调用这个匿名对象的println()方法实际上是仿照我们的Thead线程类的start()方法实现的,也就是说:我们多线程Thread类的start()方法的源码中大家可以看到 阅读全文
posted @ 2017-07-29 00:24 python-data-machine 阅读(555) 评论(0) 推荐(0) 编辑
摘要:线程的生命周期:一个线程从创建到消亡的过程 如下图,表示线程生命周期中的各个状态: 线程的生命周期可以分为五个状态: 1.创建状态: 当用new操作符创建一个新的线程对象时,该线程处于创建状态。 处于创建状态的线程只是一个空的线程对象,系统不为它分配资源。 2.可运行状态【runnable】: 执行 阅读全文
posted @ 2017-07-28 23:15 python-data-machine 阅读(860) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示