320x100
반응형
*멀티 태스킹 vs 멀티 스레드
멀티 태스킹 - 여러개의 프로세스를 사용하는 것 ex) 하나의 컴퓨터에서 엑셀 인터넷 카톡 등을 한번에 실행
멀티 스레드 - 하나의 프로세스에서 여러 작업을 하는 것 ex) 카톡에서 채팅치면서 사진 보내기
메인스레드 - main메소드 실행하면서 실행, 메소드 종료시 종료
- 멀티 스레드 경우 하나의 실행중인 작업 스레드가 있다면 메인 스레드 종료안됨
작업스레드 - 멀티 스레드 어플리케이션 만들경우 몇개의 작업으로 나눌지 결정
생성방법 - java.lang.Thread 클래스로부터 직접 생성 -> Runnable을 매개값으로 갖는 생성자 호출
Runnable에 run메소드를 재정의하여 실행 코드 작성
public class Task implements Runnable{
@Override
public void run() {
System.out.println("hello");
}
}
public static void main(String[] args) {
Runnable task = new Task();
Thread thread = new Thread(task);
}
해당 클래스를 만들어 매개값으로 지정
Thread thread1 = new Thread(new Runnable() {
@Override
public void run() {
System.out.println("hello");
}
});
Thread thread2 = new Thread(() ->
System.out.println("hello")
);
직접 익명 객체를 매개값으로 사용가능
- Thread클래스를 상속받아 run메소드 재정의해서 실행코드 작성
public class study1 extends Thread{
@Override
public void run() {
System.out.println("hello");
}
}
**스레드는 start메소드를 통해서 실행 가능
**setName(), getName()을 통해서 스레드의 이름 지정, 얻기
-음.. Runnable 인터페이스 사용과 클래스 사용에 대해서 생각해보기!
320x100
반응형
'공부기록 > Java' 카테고리의 다른 글
람다 (0) | 2022.04.16 |
---|---|
제네릭(2) (0) | 2021.08.09 |
제네릭(1) (0) | 2021.08.07 |
스레드(3) (0) | 2021.08.07 |
스레드(2) - Runnable(Interface) vs Thread (Class) (0) | 2021.08.03 |