Runnable instance를 공유하면 그 필드도 함께 공유된다

표현이 lambda인지 클래스인지보다 두 Thread가 같은 task 객체를 가리키는지가 경합을 결정합니다.

shared Runnablemutable count

Thread A

same task ref

Thread B

same task ref

read count

같은 값 가능

write count

lost update 위험

복원

상태 분리·동기화

핵심: 무상태 task를 선호하고 가변 카운터가 필요하면 동기화·원자 연산·분할 소유 중 하나를 고릅니다.