Keyword - Thread, JVM
스레드의 생성과 실행
Runnable 인터페이스를 구현한 객체에서 run()을 구현하여 스레드를 생성하고 실행
Thread 클래스를 상속 받은 하위 클래스에서 run()을 구현하여 스레드를 생성하고 실행
익명 객체를 사용하여 스레드 생성하고 실행하기
스레드의 정보
getName(), setName(), Thread.currentThread
스레드의 동기화
여러 스레드는 각각의 stack을 가지지만, heap 영역의 데이터는 공유한다. 여러 스레드가 동시에 heap 영역의 데이터에 접근하고 변경하면서, 여러가지 오류와 충돌의 가능성이 존재한다. 그러기 위해서 synchronized 키워드를 메서드이름에 붙이거나 synchronized(this) 블럭을 통해 스레드 간에 동기화를 유도할 수 있다. 데이터에 임계영역을 설정하기 보다는, 스레드 간에 락(lock)을 통해 데이터 접근 권한을 제어한다고 생각할 수 있다.
https://velog.io/@cws0718/cb11 나의 이전 글에 자세히 설명되어 있다.