이전 포스팅에서 Thread 에 대해 다룬적이 있다.
자세한 내용은 참고 포스팅 참고 바란다.
Java에서 Thread란 참고포스팅의 Thread와 비슷한 개념으로 실행하는 주체를 말한다.
코드가 돌아가기 위해서는 Thread 위에서 코드가 돌아가고 이 Thread들이 모여 Process를 이룬다.
Java에서 Thread를 자주 사용하곤 했는데 sleep 메서드를 사용할때 주로 사용이 되었다.
관련 내용은 아래 참고 포스팅 참고 바란다.
Java 개발을 하면 IDE를 사용하여 Java 개발을 할 경우 console을 볼수 있는데 여기서
이 부분이 Thread명이다.
따로 설정을 안해주면 기본 Thread중 하나로 잡히게 되고
그 기본 Thread가 이렇게 보이게 된다.
자바에서 Thread를 사용할때 Thread클래스와 함께 알아야하는 개념이 있는데 바로 Runnable 이다.
둘다 비슷하게 사용이 되고 있지만 Thread는 클래스, Runnable은 인터페이스이다.
근데 이미 Thread에서는 Object를 상속을 받으면서 Runnable 인터페이스를 구현하고 있다.
그러므로 Thread를 상속받을 경우 다른 클래스를 상속 못받게 되므로 이럴경우엔 Runnable를 받으면 된다.
자세한 내용은 아래 참고 포스팅을 참고바란다.
실제로 간단하게 Thread와 Runnable을 사용하는 코드는 아래와 같다.
Runnable userA = () ->{ //logic구현 }; //아래는 lambda 식 //Runnable userA = new Runnable() { // @Override // public void run() { // //logic구현 // } //}; Thread threadA = new Thread(userA); threadA.setName("ThreadA"); threadA.start(); |
일단 위 코드에서 확인해야할게 몇가지 있다.
1. lambda 식 표현.
-> 주석으로 달려있는 부분은 람다식을 사용하지 않을 경우이다.
처음 Runnable 선언하는 부분이랑 동일한 코드이다.
2. Thread에 변수로 Runnable을 넣어줬다.
-> Thread는 비어있는 생성자를 만들수도있지만, 오버로딩하여 Runnable을 넣어줄수도 있다. 아래 사진 참고
3. setName을 하여 처음 사진에서 보였던 [nio-8080-exec-1] 에 부분의 이름을 지정할수 있다.
-> Thread를 구분할때 사용하곤 한다.
4. start 함수를 사용하여 별도 Thread를 실행 시킨다.
참고 포스팅
https://thenicesj.tistory.com/492
https://thenicesj.tistory.com/296
https://thenicesj.tistory.com/133
'IT > Java' 카테고리의 다른 글
ThreadLocal (동시성문제) 사용법 및 주의사항 (49) | 2023.10.12 |
---|---|
try-catch 예외처리 비용 (47) | 2023.10.11 |
[Eclipse] method 생성 시 자동 생성되는 주석 제거 방법 (62) | 2023.10.09 |
@Transient 어노테이션 (51) | 2023.10.02 |
[eclipse] 디버깅 하기 (46) | 2023.10.01 |
댓글