Thread3 [Java] 쓰레드_start()와 run() run()을 호출 : 클래스에 선언된 메서드를 호출하는 것 start()을 호출 : 새로운 쓰레드가 작업을 실행하는데 필요한 호출스택을 생성한 다음에 run()을 호출해서, 생성된 호출스택 에 run()이 첫번째로 올라가게 한다. 스케줄러 : 실행대기중인 쓰레드들의 우선순위를 고려하여 실행순서와 실행시간을 결정하고, 각 쓰레드들은 작성된 스케줄에 따라 자신의 순서가 되면 지정된 시간동안 작업을 수행. - 작업을 마친 쓰레드, 즉 run()의 수행이 종료된 쓰레드는 호출스택이 모두 비워지면서 이 쓰레드가 사용하던 호출스택이 사라짐. main쓰레드 - main메서드의 작업을 수행하는 것도 쓰레드이며, 이를 main쓰레드라고 한다. 실행 중인 사용자 쓰레드가 하나도 없을 때 프로그램은 종료된다. 2022. 8. 2. [Java] 쓰레드_쓰레드의 구현과 실행 1. Thread클래스를 상속 class MYThread extends Thread { public void run() { /* 작업 내용 */ } // Thread클래스의 run()을 오버라이딩 } 2. Runnable인터페이스를 구현 (객체지향적인 방법) class MyThread implements Runnable { public void run() { /* 작업내용 */ } // Runnable인터페이스의 run()을 구현 } Runnable인터페이스는 오로지 run()만 정의되어 있는 간단한 인터페이스이다. Runnable인터페이스 구현하기 위해서 할 일은 추상메서드인 run()의 몸통{}을 만들어 주는 것 뿐. public interface Runnable { public abstract vo.. 2022. 8. 2. [Java] 쓰레드_프로세스와 쓰레드 프로세스 : '실행 중인 프로그램' 프로세스는 프로그램을 수행하는 데 필요한 데이터와 메모리 등의 자원 그리고 쓰레드로 구성되어 있음 쓰레드 : 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것 멀티쓰레드 프로세스 : 둘 이상의 쓰레드를 가진 프로세스 멀티태스킹과 멀티쓰레딩 멀티쓰레딩 : 하나의 프로세스 내에서 여러 쓰레드가 동시에 작업을 수행하는 것 CPU의 코어가 한 번에 단 하나의 작업만 수행할 수 있으므로, 실제로 동시에 처리되는 작업의 개수는 코어의 개수와 일치 멀티쓰레딩의 장단점 멀티 쓰레딩의 장점 - CPU의 사용률을 향상시킨다. - 자원을 보다 효율적으로 사용할 수 있다. - 사용자에 대한 응답성이 향상된다. - 작업이 분리되어 코드가 간결해진다. 메신저로 채팅하면서 파일을 다운로드 받.. 2022. 8. 2. 이전 1 다음