《java并发编程实战》(二)
2021-01-30 08:15
标签:wing com ref ack code register https reg 编程 看《java并发编程实战》一书时,在33-34页中,对里面的例子不是很理解,究竟该怎么理解“不要在构造过程中使this引用逸出”,后来在segmentfault中找到一个问题,看完才有点理解。现作记录: 原文出处:https://segmentfault.com/q/1010000007900854/a-1020000018104804 才发现,书中给出的实例代码只是片段而已,并不完整。看书时可以到http://jcip.net/listings去找对应篇章的完整代码,不然只看书中的代码片段是很难理解文中想表达的意思的。 比如书中程序清单3-7的完整代码如下: 但是在书中只给出了如下的一部分而已 顺便把开篇里面的那个讨论中的一个回答贴一下 讨论中还有剩余的两个回答,可以去看看,加深理解 《java并发编程实战》(二) 标签:wing com ref ack code register https reg 编程 原文地址:https://www.cnblogs.com/Guhongying/p/12821249.htmlpackage net.jcip.examples;
/**
* ThisEscape
*
* Implicitly allowing the this reference to escape
*
* @author Brian Goetz and Tim Peierls
*/
public class ThisEscape {
public ThisEscape(EventSource source) {
source.registerListener(new EventListener() {
public void onEvent(Event e) {
doSomething(e);
}
});
}
void doSomething(Event e) {
}
interface EventSource {
void registerListener(EventListener e);
}
interface EventListener {
void onEvent(Event e);
}
interface Event {
}
}
public ThisEscape(EventSource source) {
source.registerListener(new EventListener() {
public void onEvent(Event e) {
doSomething(e);
}
});
}
上一篇:Leetcode练习(Python):链表类:第143题:重排链表:给定一个单链表 L:L0→L1→…→Ln-1→Ln , 将其重新排列后变为: L0→Ln→L1→Ln-1→L2→L
下一篇:13-python--bibao