Java 7 Concurrency Cookbook 翻译 序言】的更多相关文章

在日常的Java代码开发过程中,很难免地有对多线程的需求,掌握java多线程和并发的机制也是Java程序员写出更健壮和高效代码的基础.笔者找寻国内已出版的关于Java多线程和并发的的中文书籍和翻译书籍,大家一致推荐的是<Java Concurrency in Practice>,笔者暂时还没有看英文原版,笔者看的是它的翻译版<Java并发编程实战>,笔者读起来感觉并不通畅,不知道是翻译的问题还是原版本来就写得不够流畅,同时感觉知识的深度也超过了入门的需求. 笔者在机缘巧合之下,发现…
十一.处理线程组中的未控制异常 每种编程语言一个很重要的特性就是其所提供的用来处理程序中错误情况的机制.Java语言和其他的现代语言一样,是提供了异常机制来处理对象程序中的错误.Java提供了很多的类来对应不同的错误.当Java检查到这些错误时,会抛出对应的异常对象.你可以直接使用那些异常类或者实现自己的异常类来处理程序中出项的错误情况. Java同时提供了捕获和处理异常对象的机制.异常必须被捕获或者重新抛出来.这类异常称为检测异常.还有一类异常不必捕获和处理,称为不检测异常. 在本秘诀中,我们…
九.使用线程本地变量 一个并发程序的最关键特征就是共享数据.这个特性在那些继承了 Thread 类或者 实现了 Runnable 接口的对象上显得更加重要. 如果你创建一个实现了 Runnable 接口的对象,然后再使用多个 Thread 对象去运行这个相同 Runnable 对象,这样所有的 Thread 对象就会共享相同的属性.这意味着你在其中一个 Thread 对象中对属性做的修改会影响其他的 Thread 对象. 有时,你需要运行同一个 Runnable 对象的多个 Thread 对象都…
七.创建和运行一个后台线程 Java中有一种特别的线程叫做 deamon(后台) 线程.这类线程具有非常低的权限,并且只有在同一个程序中没有其他的正常线程在运行时才会运行.注意:当一个程序中只剩下后台线程时,JVM会终结所有的后台线程并结束程序. 由于这个特性,后台线程一般用于为同一个程序中的其他正常线程提供服务.这种后台线程一般都有一个无限的循环在等待请求服务或者执行请求的任务.由于不知道它们何时可以获得CPU的调用执行,同时在没有其他正常线程的情况下会被JVM终结,所以后台线程不能用于执行重…
三.中断一个线程 一个拥有多个线程的Java程序要结束,需要满足两个条件之一:一是所有的非后台线程都执行结束了:二是某个线程执行了 System.exit() 方法.当你想要终结一个运行中的Java程序或者程序的用户想要取消一个线程正在执行的任务时,你都需要结束一个线程. Java提供中断机制来表明我们想要终止一个线程.这个机制的核心是线程必须要检查自己是否被中断,而且线程自己决定是否响应中断请求.线程可以忽略该中断请求而继续执行. 在本秘诀中,我们将开发一个程序,这个程序创建线程,5秒后使用中…
一.简介 在计算机的世界里,当我们谈论并发时,我们指的是一系列的任务同时运行于一个计算机中.这里说的同时运行,在计算机拥有多于一个处理器或者是一个多核处理器的时候才是真正的同时,在计算机只拥有单核处理器的时候,它指的是表面上的同时运行. 所有的现代操作系统都允许并发任务的执行.在听歌和阅读网页上新闻的同时,你还能阅读电子邮件.我们可以说这种类型的并发是进程级别的并发.但在一个进程内部,我们也可以拥有多个同时运行的任务.那些运行在一个进程中的并发任务被称作线程. 与并发相关的另一个概念是并行.它与…
五.睡眠和唤醒一个线程 有时,你会想要在一段特定的时间后再去中断线程的运行.举个例子,程序中的一个线程每一分钟检查一次传感器的状态,剩余的时间,线程应该处于空闲的状态.在这段空闲时间里,线程不会使用计算机的任何资源.一分钟后,线程已经准备好了,才让JVM选择调用它继续执行.你可以使用 Thread 类的 sleep() 方法来达到此目的.该方法接受一个 int 类型参数表明线程挂起不运行的毫秒数.当睡眠时间结束,线程转移到可运行状态等待JVM的调度. TimeUnit 枚举类的某个成员同样具有…
NHibernate.3.0.Cookbook第一章第六节Handling versioning and concurrency的翻译   第一章第二节Mapping a class with XML第一章第三节Creating class hierarchy mappings第一章第四节Mapping a one-to-many relationship第一章第五节Setting up a base entity class Handling versioning and concurrenc…
https://www.javacodegeeks.com/2014/07/java-ee-concurrency-api-tutorial.html This is a sample chapter taken from the Practical Java EE 7 development on WildFlybook edited by Francesco Marchioni. This chapter discusses about the new Java EE Concurrency…
Threads and Executors Welcome to the first part of my Java 8 Concurrency tutorial. This guide teaches you concurrent programming in Java 8 with easily understood code examples. It's the first part out of a series of tutorials covering the Java Concur…