上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 37 下一页

2017年11月18日

《Java多线程编程核心技术》读后感(十二)

摘要: 类ThreadLocal的使用 主要解决的是每个线程绑定自己的值,可以将ThreadLocal类比喻成全局存放数据的盒子,盒子中可以存储每个线程私有数据。 类ThreadLocal解决的是变量在不同线程间的隔离线,也就是不同线程拥有自己的值,不同线程中的值是可以放入ThreadLocal类中进行保存 阅读全文

posted @ 2017-11-18 22:07 Michael2397 阅读(1080) 评论(0) 推荐(0) 编辑

《Java多线程编程核心技术》读后感(十一)

摘要: 方法join的使用 在很多情况下,主线程创建并启动子线程,如果子线程中要进行大量的耗时运算,主线程往往将早于子线程结束之前结束。这时,如果主线程想等待子线程执行完之后再结束,比如子线程处理一个数据,主线程要取得这个数据中的值,就要用到join()方法了。 学习join前的铺垫 sleep()多少不能 阅读全文

posted @ 2017-11-18 21:47 Michael2397 阅读(336) 评论(0) 推荐(0) 编辑

《Java多线程编程核心技术》读后感(十)

摘要: 一生产一消费:操作栈 本实例是使生产者向堆栈List对象中放入数据,使消费者从List堆栈中取出数据。List最大容量是1 程序运行的结果是size()不会大于1 一生产多消费-操作栈:解决wait条件改变与假死 上述代码只需要更改run.java 问题的出现是因为在Mystack.java类中使用 阅读全文

posted @ 2017-11-18 13:33 Michael2397 阅读(643) 评论(0) 推荐(0) 编辑

2017年11月17日

《Java多线程编程核心技术》读后感(九)

摘要: 当interrupt方法遇到wait方法 当线程呈wait()状态时,调用线程对象的interrupt()会出现InterruptedException异常 只通知一个线程 调用方法notify()一次只随机通知一个线程进行唤醒 唤醒所有线程 wait(long)的使用 功能是等待某一时间内是否有线 阅读全文

posted @ 2017-11-17 11:27 Michael2397 阅读(431) 评论(0) 推荐(0) 编辑

《Java多线程编程核心技术》读后感(八)

摘要: 不使用等待/通知机制实现线程间通信 使用sleep()结合while(true)死循环来实现多个线程间通信 虽然两个线程实现了通信,但有一个弊端是,线程ThreadB.java不停地通过while语轮询机制来检测某一个条件,这样会浪费CPU资源。 如果轮询的时间间隔小,更浪费cpu资源;如果轮询时间 阅读全文

posted @ 2017-11-17 00:16 Michael2397 阅读(226) 评论(0) 推荐(0) 编辑

《Java多线程编程核心技术》读后感(七)

摘要: volatile关键字 主要作用是使变量在多个线程间可见。 关键字volatile与死循环 解决同步死循环 关键字volatile的作用是强制从公共堆栈中取得变量的值,而不是从线程私有数据栈中取得变量的值 解决异常死循环 volitile非原子特性 使用原子类进行i++操作(详见书) 原子类也并不完 阅读全文

posted @ 2017-11-17 00:06 Michael2397 阅读(349) 评论(0) 推荐(0) 编辑

2017年11月16日

《Java多线程编程核心技术》读后感(六)

摘要: 多线程的死锁 只要互相等待对方释放锁就有可能出现死锁 内置类与静态内置类 内置类与同步:实验1 本实验案例是在内置类中有两个同步方法,但使用的却是不同的锁,打印的结果也是异步的。 由于持有不同的“”对象监视器“”,所以打印结果就是乱序的 内置类与同步:实验2 锁对象的改变 因为50毫秒过后线程B获得 阅读全文

posted @ 2017-11-16 22:19 Michael2397 阅读(391) 评论(1) 推荐(0) 编辑

《Java多线程编程核心技术》读后感(五)

摘要: 下面验证上面三条结论 验证第一条结论: 同步的原因是使用了同一个“对象监视器“”。如果使用不同的“”对象监视器“”会出现什么效果呢?见下面 验证第2个结论 验证第3个结论 其他代码与第二个实验相同 静态同步synchronized方法与synchronized(class)代码块 是对当前的*.ja 阅读全文

posted @ 2017-11-16 11:13 Michael2397 阅读(363) 评论(0) 推荐(0) 编辑

《Java多线程编程核心技术》读后感(四)

摘要: 将任意对象作为对象监视器 synchronized同步代码块还支持任意对象,使用格式为synchronized(非this对象) 由于对象监视器不同,所以运行结果就是异步的 下面验证多个线程调用同一个方法是随机的 下面展示多线程出现脏读的情况 "脏读"出现了。出现的原因是两个线程以异步的方式返回li 阅读全文

posted @ 2017-11-16 00:56 Michael2397 阅读(280) 评论(0) 推荐(0) 编辑

2017年11月15日

《Java多线程编程核心技术》读后感(三)

摘要: synchronized同步语句块 用synchronized声明方法在某些情况下是有弊端的,比如A线程调用同步方法执行以一个长时间的任务,那么B线程则必须等待比较较长的时间。在这样的情况下可以使用synchronized同步语句块来解决 synchronized方法的弊端 synchronized 阅读全文

posted @ 2017-11-15 22:23 Michael2397 阅读(375) 评论(0) 推荐(0) 编辑

上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 37 下一页

导航