Runnable instance를 공유할 때 함께 공유되는 상태

문법이 아니라 object identity가 동시 변경 범위를 결정한다.

one Runnable object

Thread A

같은 run body를 호출한다

caller 1

Thread B

동일 field에 접근한다

caller 2

Mutable counter

동시 increment가 충돌한다

shared

Immutable config

읽기 전용이면 안전하게 재사용한다

stable

핵심: 실행마다 독립 state가 필요하면 작업 객체도 각 worker마다 새로 만든다.