Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
bgColor#ccccff
final class Adder {
  private int a;
  private int b;

  public synchronized int getSum() {
    // Check for overflow 
    return a + b;
  }

  public synchronized void setValues(int a, int b) {
    this.a = a;
    this.b = b;
  }
}

...

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="60f080315d6ec729-8db40c8b-46e84d60-9543a653-b962db71b44ccc602bcafcd4"><ac:plain-text-body><![CDATA[

[[API 2006

AA. Bibliography#API 06]]

Class AtomicInteger

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="f96e5386c98144cd-9c03bf76-486543dc-a6bca8df-1d8fd0a0c93c2508fc664cb0"><ac:plain-text-body><![CDATA[

[[Bloch 2008

AA. Bibliography#Bloch 08]]

Item 66. Synchronize access to shared mutable data

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="08cff97e6a6a2fa1-57ddcf76-454e44a0-b46c8887-f58a73eef1f622cc6b3d4eb0"><ac:plain-text-body><![CDATA[

[[Goetz 2006

AA. Bibliography#Goetz 06]]

2.3, Locking

]]></ac:plain-text-body></ac:structured-macro>

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="e635590205300bb4-9d1b0b0c-448d4368-ab79a856-146f1cb882cb81735c2e0213"><ac:plain-text-body><![CDATA[

[[JLS 2005

AA. Bibliography#JLS 05]]

[Chapter 17, Threads and Locks,

http://java.sun.com/docs/books/jls/third_edition/html/memory.html], ]]></ac:plain-text-body></ac:structured-macro>

 

§17.4.5, Happens-Before Order

 

§17.4.3, Programs and Program Order

 

§17.4.8, Executions and Causality Requirements

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="c19deef1e5ab12d4-74d310c4-4d1e474b-87118449-1ec81b5b9632528ee9e386bf"><ac:plain-text-body><![CDATA[

[[Lea 2000

AA. Bibliography#Lea 00]]

Section 2.2.7, The Java Memory Model

]]></ac:plain-text-body></ac:structured-macro>

 

Section 2.1.1.1, Objects and Locks

<ac:structured-macro ac:name="unmigrated-wiki-markup" ac:schema-version="1" ac:macro-id="49e5bb22b32bcd67-9f42f896-4ca845bd-b75fa4a1-117fa8b5aafb3a65aea8f116"><ac:plain-text-body><![CDATA[

[[Tutorials 2008

AA. Bibliography#Tutorials 08]]

[Java Concurrency Tutorial

http://java.sun.com/docs/books/tutorial/essential/concurrency/index.html]

]]></ac:plain-text-body></ac:structured-macro>

...