Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Lock
- io
- spring
- maven
- SpringBoot
- 동기화
- JAVA #Thread #Runnable
- Java
- intellij
- writer
- reader
- 임계영역
- synchronized block
- project
- Thread
- Synchronized
- FileReader
- FileWriter
- Critical Section
- File
Archives
- Today
- Total
목록Thread (1)
믿을건 실력 뿐

만약 A스레드와 B스레드가 하나의 공유 객체를 바라보면 작업을 한다. 그런데 만약 A스레드 작업 도중에 B스레드의 작업의 영향을 받는 다면 어떻게 될까?? 간단하게 생각해보면 예상치 못한 결과가 나올 것이다. 바로 이때 필요한 것이 스레드 동기화이다. 즉, 진행 중인 작업을 다른 스레드가 간섭하지 못하도록 막는 것을 '스레드 동기화'라고 한다. 그럼 JAVA에서는 동기화 작업을 어떻게 할까??? JAVA에서는 synchronized 키워드와 synchronized 블록으로 스레드의 동기화 작업을 해줄 수 있다. 우선 동기화 작업을 하지 않은 간단한 예제를 보자. 소스를 한번 보자 TaskA와 TaskB 클래스는 각자의 생성자의 매개값으로 ShareInstance를 받았고, run() 메서드를 Overri..
Java
2020. 2. 16. 23:06