【线程十】【翻译●中英双语】Java中的volatile 变量是什么

volatile是一个特殊的修饰符,只有成员变量才能使用它。在Java并发程序缺少同步类的情况下,多线程对成员变量的操作对其它线程是透明的。volatile变量可以保证下一个读取操作会在前一个写操作之后发生,就是上一题的volatile变量规则。

前言:

在Java内存模型中,有main[……]

[yol出品] 全文阅读 >>

【线程九】Java内存模型是什么

Java内存模型规定和指引Java程序在不同的内存架构、CPU和操作系统间有确定性地行为。它在多线程的情况下尤其重要。Java内存模型对一个线程所做的变动能被其它线程可见提供了保证,它们之间是先行发生关系。这个关系定义了一些规则让程序员在并发编程时思路更清晰。比如,先行发生关系确保了[……]

[yol出品] 全文阅读 >>

【线程八】【翻译●中英双语】Java中CyclicBarrier 和 CountDownLatch有什么不同?

引言

在 理论物理学 中, M理论 是 弦理论 的一种延展理
论。M理论当中指出,描述完整的物理世界一共需
要十一个 维度 ,其维度超过弦理论所需要的十维,
被支持者相信该理论统合了所有五种弦理论,并成
为终极的物理理论

CyclicBarrier CountDownLa[……]

[yol出品] 全文阅读 >>

【线程七】【翻译●中英双语】Java中Runnable和Callable有什么不同?

RunnableCallable都代表那些要在不同的线程中执行的任务。RunnableJDK1.0开始就有了,Callable是在JDK1.5增加的。它们的主要区别是Callable call() 方法可以返回值和抛出异常,而Runnablerun()方法没有这些功能。Callable可以返[……]

[yol出品] 全文阅读 >>

【线程四】【翻译】用Runnable还是Thread?

引言

这个问题是上题的后续,大家都知道我们可以通过继承Thread类或者调用Runnable接口来实现线程,问题是,那个方法更好呢?什么情况下使用它?这个问题很容易回答,如果你知道Java不支持类的多重继承,但允许你调用多个接口。所以如果你要继承其他类,当然是调用Runnable接口好了。

[……]

[yol出品] 全文阅读 >>

【线程三】【翻译】如何在Java中实现线程?

引言

在语言层面有两种方式。java.lang.Thread 类的实例就是一个线程但是它需要调用java.lang.Runnable接口来执行,由于线程类本身就是调用的Runnable接口所以你可以继承java.lang.Thread 类或者直接调用Runnable接口来重写run()方法实现线程[……]

[yol出品] 全文阅读 >>

【线程二】【翻译】什么是线程?

引言

不论在哪个领域,多线程避免不了。

线程是操作系统能够进行运算调度的最小单位,它被包含在进程之中,是进程中的实际运作单位。程序员可以通过它进行多处理器编程,你可以使用多线程对运算密集型任务提速。比如,如果一个线程完成一个任务要100毫秒,那么用十个线程完成改任务只需10毫秒。Java在语言层[……]

[yol出品] 全文阅读 >>