프로세스(공장) : 쓰레드 (일꾼)
- 프로세스 : 실행중인 프로그램 , 자원(리소스)과 쓰레드로 구성 ,PID 프로세스 아이디
-
쓰레드 : 프로세스 내에서 실제작업을 수행 , 모든프로세스는 최소한 하나의 쓰레드를 가지고있다
- 하나의 새로운 프로세스를 생성하는것보다 , 하나의 새로운 쓰레드를 생성하는것이 더적은 비용이든다.
멀티쓰레드의 장단점 : (대부분 프로그램은 멀티쓰레드)
장점
- 시스템 자원을 보다 효율적으로 사용
- 사용자에 대한 응답성이(responseness) 향상
- 작업이 분리되어 코드가 간결
여러모로좋음
단점
- 단점 :동기화 (synchronization)에 주의해야한다
- 교착상태 (dead-lock) 가 발생하지않도록 주의해야한다
- 각 쓰레드가 효율적으로 고르게 실행될수있게 해야함 , 기아(굶어죽는것)
프로그래밍 할때 고려해야할 사항들이많음
메인쓰레드
- main 메서드의 코드를 수행하는 쓰레드
- 쓰레드는 사용자쓰레드와 데몬쓰레드(보조쓰레드) 두종류가있음
- 실행중인 사용자 쓰레드가 하나도 없을때 프로그램은 종료된다
데몬쓰레드
- 일반쓰레드의 작업을 돕는 보조역할 쓰레드
- 일반쓰레드가 종료되면 자동적으로종료
- 가비지컬렉터 , 자동저장 , 화면자동갱신등에 사용됨
- 무한루프형식 , 조건문을 사용해 , 조건이만족되면 작업수행후 다시 무한루프에 대기하도록작성 (일반쓰레드가종료되면 (무한루프종료됨))
기본예제 문제풀이 예외처리
Leave a comment