《java多线程编程核心技术》读书笔记3:线程间的通信
来源:互联网 发布:知乎每周精选要qq密码 编辑:程序博客网 时间:2024/05/24 03:28
第三章:线程间的通信
Wait()方法:线程放弃锁,进入等待状态;
Notify()方法:唤起任意一个等待的线程,只唤起一个,而且是随机的。
NotifyAll()方法:唤起所有等待的线程,这些线程,争抢(锁)运行的权利;当调用notify()方法时,当前正在执行的线程并不会马上释放锁,而是要等带当前的同步代码块执行完毕才释放持有的锁。
当线程程wait方法状态的时候,调用interrupt()时,会产生InterruptedException();
如果通知方法过早的调用wait()方法就没有执行的必要了。
线程之间可以通过管道进行通信:
字节流:PipedInutStream和PipedOutputStream
字符流:PipedReader和PipeWriter
将连个管道接通:inputStream。Connect(outputStream)
Join()方法:的作用是使所属线程对象正常执行run()方法中的任务,而使当前线程进行无限期的阻塞,直到之前的线程销毁后再继续执行当前线程。
Join(long )与sleep(long)的区别:
Join()方法在内部是使用wait()方法来实现的,所以具有释放锁的特点,
Sleep()方法不会释放锁;
ThreadLocal的使用:
变量值得共享可以使用public static的变量形式,所有线程都使用同一个变量,但是如果想实现每一个线程都有自己的共享变量该如何解决:使用ThreadLocal类。可以将ThreadLocal类比喻成全局存放数据的盒子,盒子中可以存储每一个线程的私有数据。
ThreadLocal ti = new ThreadLocal();t1.set(“sdsds”),设置值,获得值用:t1.get();
当第一次调用get时会返回一个null值,但是如果希望返回的不是null:则需要继承ThreadLocal类并实现其initialValue()方法,返回你想要返回的值。
- 《java多线程编程核心技术》读书笔记3:线程间的通信
- java多线程编程核心技术3-线程间通信
- 《java多线程编程核心技术》之线程间通信
- Java多线程编程核心技术---线程间通信(一)
- Java多线程编程核心技术---线程间通信(二)
- 【java多线程编程核心技术】3.线程间通信 -笔记总结
- Java多线程核心技术(三):线程间通信
- 《java多线程编程核心技术》读书笔记6:线程中的异常处理
- 《Java多线程编程核心技术》(三)线程通信
- 多线程编程核心技术读书笔记(三):进程间通信
- 《java多线程编程核心技术》读书笔记4:Lock的使用
- java多线程核心技术 第三章线程间通信
- 《java多线程编程核心技术》读书笔记1
- 《java多线程编程核心技术》读书笔记2.1
- 《java 多线程编程核心技术》读书笔记一
- 《java 多线程编程核心技术》读书笔记二
- 《java 多线程编程核心技术》读书笔记三
- 《java 多线程编程核心技术》读书笔记四
- hdu 5877 Weak Pair(dfs+树状数组)
- Hibernate的HQL中in参数设置
- Android Studio常用快捷键
- 生成短信验证码的方法
- 【计算机视觉】<前景检测>非参数背景模型介绍<二>
- 《java多线程编程核心技术》读书笔记3:线程间的通信
- 在MyEclipse10上远程连接虚拟机上的Hive,报错:Could not establish connection to 192.168.1.100:10000/log: java.net.Co
- seekg()与tellg()相关文件操作
- c语言之内存管理
- nyoj47 过河问题
- 程序员发展规划
- hibernate自动建表设定字段类型为数据库中为timestamp类型
- Web之Servlet技术
- 关于5509A的有源晶振输出频率的范围