[笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 Exchanger 是一个同步辅助类.用于两个并发线程之间在一个同步点进行数据交换. 同意两个线程在某一个点进行数据交换. 本章exchanger 使用心得总结 两个线程必须使用同一个Exchanger对象,且仅仅能是两个线程间的数据交换 exchanger.exchange(v)的时候,当前线程会被堵塞,直到还有一个线程运行该方法,同一时候完成数据的交换 相似这样的数据交换的,生产者线程一定要先生产数据.再交换数据,消费者线程一定要先…
推荐学习多线程之前要看的书. [笔记][思维导图]读深入理解JAVA内存模型整理的思维导图文章里面的思维导图或则相应的书籍.去看一遍. 能理解为什么并发编程就会出现故障. Java7并发编程实战手冊 这一本实战的书籍.本笔记记录是看了该书. 随笔的一些笔记,和在实际动手敲演示样例的过程中总结出来的一点经验,大部分是内容是书籍上总结的,另一大部分是自己实践中总结的.本博客中大部分章节也许都不是书籍上的原demo演示样例.大多是自己想出来的.为了简单的表达使用方法.毕竟是实战. 我认为能给我更好的感…
[笔记][Java7并发编程实战手冊]系列文件夹 简单介绍 本文学习CountDownLatch 倒计数闭锁. 本人英文不好.靠机器翻译,然后有一段非常形象的描写叙述,让我把它叫为倒计数 用给定的计数 初始化 CountDownLatch.由于调用了 countDown() 方法.所以在当前计数到达零之前.await 方法会一直受堵塞. 之后,会释放全部等待的线程,await 的全部兴许调用都将马上返回.这样的现象仅仅出现一次--计数无法被重置. - jdk1.6里面的文档 能够看出,是由于会倒…
<Java并发编程实战>和<Java并发编程的艺术>           Executor框架小结 1.在线程中如何执行任务 (1)任务执行目标: 在正常负载情况下,服务器应用程序要表现出良好的吞吐率和快速的响应性.在负载过载的情况下,应用程序的性能应该是逐渐减低的,而不是直接失败. 要实现高吞吐率和快速的响应,就应该选择清晰的任务边界和明确的任务执行策略. (2)任务执行策略有: 1)单线程串行执行任务:缺点:无法提高服务器应用程序的吞吐率和快速响应速度 2)根据任务显示创建线程…
在我们的实际应用其中可能常常会遇到这样一个场景:多个线程读或者.写相同的数据,訪问相同的文件等等.对于这样的情况假设我们不加以控制,是非常easy导致错误的. 在java中,为了解决问题,引入临界区概念.所谓临界区是指一个訪问共用资源的程序片段,而这些共用资源又无法同一时候被多个线程訪问. 在java中为了实现临界区提供了同步机制.当一个线程试图訪问一个临界区时,他将使用一种同步机制来查看是不是已经有其它线程进入临界区. 假设没有则他就能够进入临界区,否则他就会被同步机制挂起,指定进入的线程离开…
<java并发编程实战>这本书配合并发编程网中的并发系列文章一起看,效果会好很多. 并发系列的文章链接为:  Java并发性和多线程介绍目录 建议: <java并发编程实战>第3章和第4章可以暂时先跳过..这部分内容的文字和概念很多,代码块偏少.不容易看进去. 一.线程1.线程的使用可以提升程序的性能.2.线程如果没有同步,操作的执行顺序是不可预测的.3.线程之间共享数据时,必须使用同步机制.不然数据会发生无法预料的变化.二.线程的安全性 0.线程安全性:当多个线程访问某个对象时,…
有读者问,为什么< .NET并发编程实战>一书中的节流为什么不翻译成限流? 这个问题问得十分好!毕竟“限流”这个词名气很大,耳熟能详,知名度比“节流”大多了. 首先,节流的原词Throttle来自于机械行业中的节流阀.(P.S< .NET并发编程实战>一书中的很多词特别是函数式编程方面的专业名词都来自于数学.硬件.机械行业). 更重要的是: 使用“rx 限流”出来的搜索结果是这样的 使用“rx 节流”出来的搜索结果是这样的 很明显啦!如果翻译成“限流”而不是“节流”的话,读者根据“…
一.线程管理 1.线程的创建和运行 创建线程的2种方式: 继承Thread类,并覆盖run()方法 创建一个实现Runnable接口的类.使用带参数的Thread构造器来创建Thread对象 每个Java程序都至少有一个执行线程.当运行程序的时候,JVM将启动这个执行线程来调用程序的main()方法 当一个程序的所有非守护(non-daemon)线程都运行完成的时候,这个Java程序将结束 如果初始现场(执行main()方法的线程)结束了,其余的线程仍将继续执行直到它们运行结束 如果某一个线程调…
<Go并发编程实战>读书笔记-语法概览 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客我们会快速浏览一下Go的语法,内容涉及基本构成要素(比如标识符,关键字,子面量,操作符等)和基本类型(比如bool,byte,rune,int,string等),高级类型(比如数组,切片,字典,接口,结构体等)和流程控制语句(if,switch,for,defer等). 一.基本构成要素 Go的语言符号又称为词法元素,共包括5类内容,即标识符(identifier),关键字(key…
<Go并发编程实战>读书笔记-初识Go语言 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在讲解怎样用Go语言之前,我们先介绍Go语言的特性,基础概念和标准命令. 一.语言特性 我们可以用几个关键词或短语来概括Go语言的主要特性. 1>.开放源代码 这显示来Go作者开放的态度以及营造语言生态的决心.顺便说一句,Go本事就是用Go语言编写的. 2>.静态类型和编译类型 在Go中,每个变量或常量都必须在声明时指定类型,且不可改变.另外,程序必须通过编译生成归档文件或…