thread 2

[JAVA] JAVA Thread(스레드) 사용법 & 예제

Thread란? 하나의 프로세스 내부에서 독립적으로 실행되는 하나의 작업 단위 운영체제에 의해 관리되는 하나의 작업(Task) Thread = Task(작업) JVM에 의해 하나의 프로세스가 발생하고 main() 안의 실행문들이 하나의 스레드 main() 이외의 또 다른 스레드를 만들려면 Thread 클래스를 상속하거나 Runnable 인터페이스 구현 멀티 스레드 작업 시, 각 스레드끼리 정보를 주고받을 수 있어 처리 과정의 오류를 줄일 수 있음 프로세스끼리는 정보 교환 불가능 멀티 스레드(Multi Thread)란? 여러 스레드를 동시에 실행시키는 응용프로그램을 작성하는 기법 장점 메모리 공유로 인한 시스템 자원 소모 줄어듬 동시 작업이 가능 단점 자원을 공유하기에 충돌 발생 가능성 존재 로직의 복잡도..

[OS] 프로세스(Process)와 스레드(Thread)

프로세스(Process) 프로세스는 운영체제에 의해 연속적으로 실행되고 있는 프로그램을 의미합니다. 프로그램 실행 시 운영체제가 메모리 위에 프로세스를 생성하게 되며 운영체제에 의해 CPU, 메모리 자원을 할당받게 됩니다. 프로세스는 독립된 메모리 영역으로 Code, Heap, Data, Stack을 할당받습니다. Code : 개발자가 작성한 코드 Data : 전역변수, 정적변수, 배열, 구조체 등 프로그램이 실행되면서 생기는 정적인 데이터 Stack : 함수 호출과 관련된 정보(실행정보, 지역변수, 파라미터 등)이 저장됩니다. 일반적으로 컴파일 타임에 Stack의 크기가 결정됩니다. Heap : 런타임에 동적으로 메모리를 처리해야 하는 상황에서 사용되는 공간입니다. ex) Array를 사용하거나 외부 ..

Computer Science/OS 2022.08.13
반응형