이 게시물에서는 Java에서 프로세스와 스레드의 차이점을 이해할 것입니다.
프로세스
-
실행 중인 프로그램을 나타냅니다.
-
프로세스를 만드는 데 더 많은 시간이 걸립니다.
-
종료되는 데 시간이 더 걸립니다.
-
컨텍스트를 전환하는 데 더 많은 시간이 걸립니다.
-
시스템의 리소스를 더 많이 소비합니다.
-
커뮤니케이션 측면에서 효율성이 떨어집니다.
-
이것은 고립된 특성입니다.
-
고중량 프로세스라고도 합니다.
-
한 프로세스에서 다른 프로세스로 전환할 때 운영 체제의 인터페이스를 사용합니다.
-
한 서버 프로세스가 차단되면 이전 프로세스가 차단 해제될 때까지 다른 서버 프로세스를 실행할 수 없습니다.
-
자체 프로세스 제어 블록, 스택 및 주소 공간이 있습니다.
스레드
-
프로세스의 세그먼트를 나타냅니다.
-
프로세스를 만드는 데 시간이 덜 걸립니다.
-
종료되는 데 시간이 덜 걸립니다.
-
컨텍스트를 전환하는 데 시간이 덜 걸립니다.
-
시스템 리소스를 덜 소모합니다.
-
그들은 또한 메모리를 공유합니다.
-
경량 프로세스라고도 합니다.
-
의사소통이 더 효율적입니다.
-
한 스레드에서 다른 스레드로 전환할 때 운영 체제를 호출할 필요가 없습니다.
-
커널을 방해하지 않습니다.
-
하나의 서버 스레드가 차단되면 두 번째 스레드는 동일한 작업에서 실행할 수 있습니다.
-
부모의 프로세스 제어 블록을 사용합니다.
-
자체 스레드 제어 블록, 스택 및 공통 주소 공간을 사용합니다.