随笔分类 -  java并发编程

摘要:输出结果: 对以上代码的解释: 在main方法中,main为主线程,当主线程执行完输出语句时,cpu被second-thread和first-thread抢去执行了,当main主线程再次抢的cpu执行时,发现main方法中已经没有需要执行的代码,故main方法结束。然后,由于second-threa 阅读全文
posted @ 2017-12-06 23:23 凌晨六点半 阅读(132) 评论(0) 推荐(0)
摘要:1.线程有默认名称: 输出结果: 2.自定义线程名称 输出结果: 阅读全文
posted @ 2017-12-06 23:16 凌晨六点半 阅读(631) 评论(0) 推荐(0)
摘要:运行结果: first-thread并没有立即被中断! 再看一个例子: 运行结果: first-thread线程被中断了! 再看一个例子: 输出结果: 以上输出说明,first-thread也正常的结束了。 总结: 调用interrupt()方法,立刻改变的是中断状态,但如果不是在阻塞态,就不会抛出 阅读全文
posted @ 2017-12-06 23:12 凌晨六点半 阅读(161) 评论(0) 推荐(0)
摘要:wait和notify都是针对某个线程而言的: 运行,发现报错如下: 原因:调用wait和notify以及notifyAll,它其实是要跟一个同步监视器的。而且同步监视器所指定的对象必须是当前类的实例。修改代码如下: 运行结果如下: 总结: 首先,自定义线程执行代码还是主线程执行代码,这个是看哪个线 阅读全文
posted @ 2017-12-06 07:44 凌晨六点半 阅读(1245) 评论(0) 推荐(0)
摘要:sleep:超时等待指定时间,时间到了之后,重新回到就绪状态,抢到CPU资源后,立马进入运行状态; 注意:sleep方法要try catch异常,否则不通过。通过加入sleep,可以明显感觉到,每次输出都有一定的时间间隔; 阅读全文
posted @ 2017-12-06 07:28 凌晨六点半 阅读(1705) 评论(1) 推荐(0)
摘要:1.start状态: 2.:线程启动后,进入就绪状态,自定义线程和主线程交互运行,谁先获得cpu,则谁就进入运行状态,输出对应的消息。 运行结果:自定义线程运行了(连续输出一段时间);主线程运行了(连续输出一段时间);自定义线程运行了(连续输出一段时间);主线程运行了(连续输出一段时间)...... 阅读全文
posted @ 2017-12-06 07:23 凌晨六点半 阅读(560) 评论(0) 推荐(0)
摘要:线程的状态图: 1. 新建( new ):新创建了一个线程对象。 2. 可运行( runnable ):线程对象创建后,其他线程(比如 main 线程)调用了该对象 的 start ()方法。该状态的线程位于可运行线程池中,等待被线程调度选中,获 取 cpu 的使用权 。 3. 运行( runnin 阅读全文
posted @ 2017-12-06 07:05 凌晨六点半 阅读(3817) 评论(0) 推荐(1)