synchronized 이해 하나의 객체에 여러 요청이 동시에 들어오면 원하는 처리를 하지 못하고 이상한 결과가 나올 수 있습니다. 그래서 synchronized를 사용하여 동기화를 하는 것입니다. 이 식별자를 사용하면 "천천히 하나씩 들어오세요."라고 해당 메소드나 블럭에서 제어하게 됩니다. *코드 예제 public synchronized void sampleMethod() { ... } private Object obj = new Object(); public void sampleBlock() { synchronized(obj) { ... } } 위 처럼 간단히 synchronized라는 식별자만 사용하면 동기화할 수 있습니다. 언제 동기화를 사용해야 할까 ? 하나의 객체를 여러 스레드에서 동시에 사..
Thread 클래스 상속과 Runnable 인터페이스 구현 스레드의 구현은 Thread 클래스를 상속받는 것과 Runnable 인터페이스를 구현하는 2가지 방법이 있습니다. Thread 클래스는 Runnable 인터페이스를 구현한 것이기 때문에 어느 것을 사용해도 상관은 없지만, Runnable 인터페이스를 구현하면 원하는 기능을 추가할 수 있습니다. 이것은 장점이 될 수도 있지만, 해당 클래스를 수행할 때 별도의 스레드 객체를 생성해야 한다는 단점이 있을 수 있습니다. 또한 자바는 다중 상속을 허락하지 않습니다. 따라서 스레드를 사용할 때 이미 상속받은 클래스가 있다면 Runnable 인터페이스를 구현해야 합니다. Runnable 인터페이스를 구현한 클래스 public class RunnableImpl..
프로세스와 스레드 하나의 프로세스에는 여러 개의 스레드가 생성됩니다. 단일 스레드가 생성되어 종료될 수도 있고, 여러 개의 스레드가 생성되어 수행될 수도 있습니다. 그러므로, 프로세스와 스레드의 관계는 1:N 이라고 할 수 있습니다. 스레드는 다른 말로 Lightweight Process(LWP)라고도 합니다. 즉, 가벼운 프로세스이고, 프로세스에서 만들어 사용하는 메모리를 공유합니다. 그래서 별개의 프로세스가 하나씩 뜨는 것보다 성능이나 자원 사용에 있어 많은 도움이 됩니다.
- Total
- Today
- Yesterday
- thread
- redis
- Java
- Cross Origin
- Spring Boot
- NoSQL
- JWT
- cross
- URI
- web
- Token
- stateful
- 대규모
- https
- Groovy
- ehcache
- auth
- stateless
- cors
- synchronized
- MongoDB
- Runnable
- output
- ngrinder
- class
- SPOF
- iinput
- script
- HTTP
- 404
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |