[java] synchronized

thread-safe

멀티스레드 프로그램은 스레드 간 공유하여 사용하는 data가 있을 때, 스레드 동기화가 되지 않는다면 data의 신뢰성을 보장할 수 없으므로 신경 써야한다. 이를 thread-safe하다고 한다.

이를 위해서 java에서는 스레드 동기화를 가능하게 하는 synchronized 기능을 제공한다.

 

synchronized

여러 스레드가 한 개의 자원을 사용하고자 할 때 데이터를 점유한 스레드를 제외한 나머지는 데이터에 접근을 못하도록 막는 것을 말한다. 변수와 함수에 사용할 수 있다.

public synchronized void method() {}
private Object obj = new Object();
public void exMethod() {synchronized(obj) {}}

 

Thread 예제코

https://github.com/waveaway77/JAVA_TEST/blob/master/src/main/java/SynchronizeTest.java

'┝ 개발 언어 > ┎ JAVA' 카테고리의 다른 글

[RestTemplate] x-www-form-urlencoded  (1) 2024.10.16
[java] multipart 파일 받을 때 주의할 점  (0) 2023.11.14
empty String과 null을 Integer value of할 경우  (0) 2023.11.08
getBytes  (0) 2023.05.17
생성자  (0) 2023.05.17