Java中的锁

 

锁的释放-获取建立的happens before 关系

锁是java并发编程中最重要的同步机制。锁除了让临界区互斥执行外,还可以让释放锁的线程向获取同一个锁的线程发送消息。

下面是锁释放-获取的示例代码:

[……]

[yol出品] 全文阅读 >>

SpringMVC Hibernate no session found for current thread

配置了app-context.xml

中hibernate的各种设置,仍然报错,

关键配置:要配置txmanager, aop等,因为这是完整配置

配置

<property name=”current_se[……]

[yol出品] 全文阅读 >>

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

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

前言:

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

[yol出品] 全文阅读 >>

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

引言

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

CyclicBarrier CountDownLa[……]

[yol出品] 全文阅读 >>

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

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

[yol出品] 全文阅读 >>

【线程六】【翻译●中英双语】Thread 类中的start() 和 run() 方法有什么区别

引言

这个问题经常被问到,但还是能从此区分出面试者对Java线程模型的理解程度。start()方法被用来启动新创建的线程,而且start()内部调用了run()方法,这和直接调用run()方法的效果不一样。当你调用run()方法的时候,只会是在原来的线程中调用,没有新的线程启动,start()方法[……]

[yol出品] 全文阅读 >>

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

引言

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

[……]

[yol出品] 全文阅读 >>

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

引言

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

[yol出品] 全文阅读 >>