일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 리눅스
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- 자바연습문제
- String
- java
- 디자인
- 직장인인강
- DesignPattern
- 스프링
- 자바기초
- 자바기본
- js
- Spring
- 재택근무
- 데이터베이스
- 자바예제
- 패캠챌린지
- 직장인자기계발
- 패스트캠퍼스후기
- DB
- ncs
- linux
- 디자인패턴
- 패스트캠퍼스
- java기초
- 웹
- 국비
- javabasic
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 자바
- Today
- Total
FIF's 코딩팩토리
패스트캠퍼스 챌린지 50일차 본문
자바에서 Thread 만들기
스레드를 알기위해 먼저 프로세스의 정의를 살펴보자.
프로세스(process)란 단순히 실행 중인 프로그램(program)이라고 할 수 있다.
즉, 사용자가 작성한 프로그램이 운영체제에 의해 메모리 공간을 할당받아 실행 중인 것을 말한다.
이러한 프로세스는 프로그램에 사용되는 데이터와 메모리 등의 자원 그리고 스레드로 구성된다.
그렇다면 스레드란?
스레드(thread)란 프로세스(process) 내에서 실제로 작업을 수행하는 주체를 의미한다.
모든 프로세스에는 한 개 이상의 스레드가 존재하여 작업을 수행한다.
또한, 두 개 이상의 스레드를 가지는 프로세스를 멀티스레드 프로세스(multi-threaded process)라고 한다.
스레드의 생성과 실행
자바에서 스레드를 생성하는 방법에는 다음과 같이 두 가지 방법이 있다.
1. Runnable 인터페이스를 구현하는 방법
2. Thread 클래스를 상속받는 방법
두 방법 모두 스레드를 통해 작업하고 싶은 내용을 run() 메소드에 작성하면 된다.
스레드의 우선순위
자바에서 각 스레드는 우선순위(priority)에 관한 자신만의 필드를 가지고 있다.
이러한 우선순위에 따라 특정 스레드가 더 많은 시간 동안 작업을 할 수 있도록 설정할 수 있다.
getPriority()와 setPriority() 메소드를 통해 스레드의 우선순위를 반환하거나 변경할 수 있다.
스레드의 우선순위가 가질 수 있는 범위는 1부터 10까지이며, 숫자가 높을수록 우선순위 또한 높아진다.
하지만 스레드의 우선순위는 비례적인 절댓값이 아닌 어디까지나 상대적인 값일 뿐이다.
우선순위가 10인 스레드가 우선순위가 1인 스레드보다 10배 더 빨리 수행되는 것이 아니다.
단지 우선순위가 10인 스레드는 우선순위가 1인 스레드보다 좀 더 많이 실행 큐에 포함되어, 좀 더 많은 작업 시간을 할당받을 뿐이다.
본 포스팅은 패스트캠퍼스 환급 챌린지 참여를 위해 작성되었습니다.
'패스트캠퍼스 챌린지' 카테고리의 다른 글
패스트캠퍼스 챌린지 최종 미션, 패스트캠퍼스 챌린지 최종 후기, 한번에 끝내는 JavaSpring 웹개발 마스터 초격차 패키지 Online 강의 후기 (0) | 2022.03.23 |
---|---|
패스트캠퍼스 챌린지 49일차 (0) | 2022.03.13 |
패스트캠퍼스 챌린지 48일차 (0) | 2022.03.12 |
패스트캠퍼스 챌린지 47일차 (0) | 2022.03.11 |
패스트캠퍼스 챌린지 46일차 (0) | 2022.03.10 |