线程
venus321
这个作者很懒,什么都没留下…
展开
-
线程Sleep、Yield、Join
线程优先级sleepyield例子join例子joinlong time线程优先级记住当线程的优先级没有指定时,所有线程都携带普通优先级。优先级可以用从1到10的范围指定。10表示最高优先级,1表示最低优先级,5是普通优先级。记住优先级最高的线程在执行时被给予优先。但是不能保证线程在启动时就进入运行状态。与在线程池中等待运行机会的线程相比原创 2017-11-30 13:23:37 · 245 阅读 · 0 评论 -
对变量的并发访问
多个线程对同一个对象的变量进行并发访问,产生的结果就是“脏读”。对局部变量的访问package com.example.test;public class Test168 { public static void main(String[] args) { Test168 t = new Test168(); Thread tt = new T原创 2018-01-31 14:26:25 · 228 阅读 · 0 评论 -
String字符串作为锁的影响
我们都知道Java中String 常量池的功能,先看下面的代码:public class Test184 { static String a = "a"; static String b = "a"; public static void main(String[] args) { System.out.println(a==b); }}由上...原创 2018-02-27 16:01:57 · 3011 阅读 · 1 评论 -
线程通信
不使用等待通信的机制等待/通知机制理解等待/通知机制比较大的坑wait异常等待通知实例wait()锁释放notify方法wait(long time)通知过早wait条件的改变补充线程在操作系统中是独立的个体,为了使独立的线程成为整体,来由程序员哥哥对各线程任务在处理过程中进行有效的把控与监督,让他们彼此之间可以互相通信和协作...原创 2018-03-24 13:59:45 · 149 阅读 · 0 评论 -
生产者消费者模式实现
一对一的生产消费多生产多消费模式一生产者和多消费者生产者和消费者模式,主要就是基于等待/通信模式,在之前我们已经学习wait和notify,下面我们就来实现代码。一对一的生产消费public class Test226 { private static String value=""; private static Object...原创 2018-04-01 13:40:04 · 157 阅读 · 0 评论 -
wait/notify的应用--交替打印
在之前的文章,我们已经讲过了wait和notify的知识点,今天就通过线程之前协同工作,实现线程之间交替打印。package com.example.test;public class Test235 { private boolean flag =false; private Object lock = new Object(); static Test235 ...原创 2018-04-03 13:28:38 · 766 阅读 · 0 评论