
Java并发编程的艺术
Java并发编程的艺术读书笔记
豢龙先生
山河万里,不在足下,而在心中
展开
-
Java并发编程的艺术-----Java中的锁(Lock接口和队列同步器)
Java中的锁(Lock接口和队列同步器)一、Lock接口二、队列同步器一、Lock接口锁是用来控制多个线程访问共享资源的方式,一般来说,一个锁能够防止多个线程同时访问共享资源(但是有些锁可以允许多个线程并发的访问共享资源,比如读写锁)。在Lock接口出现之前,Java程序是靠synchronized关键字实现锁功能的,而Java SE 5之后,并发包中新增了Lock接口(以及相关实现类)用来实现锁功能,它提供了与synchronized关键字类似的同步功能,只是在使用时需要显式地获取和释放锁。原创 2020-07-23 23:09:44 · 190 阅读 · 0 评论 -
Java并发编程的艺术-----Java并发编程基础(线程应用实例)
Java并发编程基础(线程应用实例)一、等待超时模式二、一个简单的数据库连接池示例三、线程池技术及其示例四、一个使用DefaultThreadPool实现的简单的Web服务器一、等待超时模式开发人员经常会遇到这样的方法调用场景:调用一个方法时等待一段时间(一般来说是给定一个时间段),如果该方法能够在给定的时间段之内得到结果,那么将结果立刻返回,反之,超时返回默认结果。假设超时时间段是T,那么可以推断出在当前时间now+T之后就会超时。定义如下变量:等待持续时间:REMAINING=T超时时间:F原创 2020-07-15 16:01:37 · 247 阅读 · 0 评论 -
Java并发编程的艺术-----Java并发编程基础(线程间通信)
Java并发编程基础(线程间通信)一、volatile和synchronized关键字二、等待/通知机制三、等待/通知的经典范式四、管道输入/输出流五、Thread.join()的使用六、ThreadLocal的使用一、volatile和synchronized关键字Java支持多个线程同时访问一个对象或者对象的成员变量,由于每一个线程可以拥有这个变量的拷贝,所以程序在执行过程中,一个线程看到的变量并不一定是最新的。关键字volatile可以用来修饰字段,就是告诉程序任何对该变量的访问均需要从共享内存原创 2020-07-15 11:41:52 · 167 阅读 · 0 评论 -
Java并发编程的艺术-----Java并发编程基础(启动和终止线程)
Java并发编程基础(启动和终止线程)一、构造线程二、启动线程三、理解中断四、过期的suspend()、resume()和stop()五、安全地终止线程一、构造线程在运行线程之前首先要构建一个线程,线程对象在构造的时候需要提供线程所需要的属性,如线程所属的线程组、线程优先级、是否是Daemon线程等信息。Thread中对线程进行初始化的部分代码如下:private void init(ThreadGroup g, Runnable target, String name,原创 2020-07-14 23:40:39 · 193 阅读 · 0 评论 -
Java并发编程的艺术-----Java并发编程基础(线程简介)
Java并发编程基础(线程简介)一、什么是线程二、为什么要使用多线程三、线程优先级四、线程的状态五、Daemon线程一、什么是线程操作系统在运行一个程序时,会为其创建一个进程。例如,启动一个Java程序,操作系统会创建一个Java进程。现代操作系统调度的最小单元是线程,也叫轻量级进程,在一个进程中可以创建多个线程,这些线程都拥有各自的计数器、堆栈和局部变量等属性,并且能够访问共享的内存变量。处理器在这些线程上高速切换,让使用者感觉到这些线程在同时执行。一个Java程序从main()方法开始执行,然后按原创 2020-07-13 23:08:08 · 239 阅读 · 0 评论