이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. suspend(), resume(), stop() - 스레드의 실행을 일시정지, 재개, 완전정지 시킨다. void suspend() 스레드를 일시정지 시킨다. void resume() suspend()에 의해 일시정지된 스레드를 실행대기상태로 만든다. void stop() 스레드를 즉시 종료시킨다. 스레드를 생성하고 start()를 하면 실행대기 상태가 된다. 자신의 차례가 오면 실행했다가 stop()을 호출하거나 자신의 일을 다 하면 소멸된다. 그런데 실행 중에 suspend()를 호출하면 일시정지 상태가 되었다가, resume()을 호출하면 다시 줄을 서서 실행대기 상태가 된다. 그런데 위 메서드들은 사용권장하지..
스레드
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 데몬 스레드(daemon thread) - 일반 스레드(non-daemon thread)의 작업을 돕는 보조적인 역할을 수행 - 일반 스레드가 모두 종료되면 자동적으로 종료된다. - 가비지 컬렉터, 자동저장, 화면 자동갱신 등에 사용된다. - 무한루프와 조건문을 이용해서 실행 후 대기하다가 특정조건이 만족되면 작업을 수행하고 다시 대기하도록 작성한다. public void run() { while(true) { try { Thread.sleep(3 * 1000); //3초마다 쉼 } catch(InterruptedException e) {} //autoSave의 값이 true이면 autoSave()를 호출한다. if..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. ●⚝ ✎정리 ⍟실습 📂content 1. main 스레드 - main메서드의 코드를 수행하는 스레드 - 스레드는 '사용자 스레드'와 '데몬 스레드' 두 종류가 있다. => 사용자 스레드는 main 스레드이고, 데몬 스레드는 보조 스레드이다. 실행 중인 사용자 스레드가 하나도 없을 때 프로그램은 종료된다. 즉, 멀티 스레드에서는 메인 메서드가 종료되었어도, 실행중인 스레드가 남아있다면 프로그램은 종료되지 않는다. ⍟실습 더보기 Ex13_11 class Ex13_11 { static long startTime = 0; public static void main(String args[]) { ThreadEx11_1 th1 = new Threa..
이 글은 유튜브 '자바의 정석 - 기초편'을 보고 정리한 글입니다. 📂content 1. 프로세스와 스레드 (process & thread) - 프로세스 실행 중인 프로그램, 자원(resources)과 스레드로 구성 - 스레드 프로세스 내에서 실제 작업을 수행 모든 프로세스는 최소한 하나의 스레드를 가지고 있다 프로세스 : 스레드 = 공장 : 일꾼 - 싱글 스레드 = 자원 + 스레드 - 멀티 스레드 = 자원 + 스레드 + 스레드 + .... 하나의 새로운 프로세스를 생성하는 것보다 하나의 새로운 스레드를 생성하는 것이 더 적은 비용이 든다. 2. 멀티스레드의 장단점 대부분의 프로그램이 멀티스레드로 작성되어 있다. 그러나, 멀티스레드 프로그래밍이 장점만 있는 것은 아니다. 장점 - 시스템 자원을 보다 효율..