JavaScript Strings



자바에서 멀티스레딩은 여러개의 스레드를 동시에 실행하는 프로세스 입니다.

여기서 스레드는 기본적으로 가벼운 서브 프로세스로, 가장 작은 프로세싱 유닛입니다.

멀티프로세싱과 멀티스레딩, 이 두가지는 멀티테스킹을 위해 사용됩니다. 


하지만 우리는 멀티프로세싱보다는 멀티스레딩을 사용합니다.  스레드들은 공통의 메모리 영역을 공유하기 때문이죠

또한 별도의 메모리 영역을 허락치 않기 때문에 메모리를 절약하고, 스레드 사이에 문맥 전환도 프로세스보다 빠릅니다. 


그 때문에 자바 멀티스레딩은 주로 게임이나 애니메이션 등에 사용됩니다.




Advantage of java Multithreading


1) 스레드가 독립적이기 때문에 사용자를 방해하지 않고, 동시에 다중 작업을 할 수 있습니다.

2) 많은 작업을 수행할 수 있기 때문에 시간을 절약할 수 있습니다. 

3) 스레드는 독립적이기 때문에 만약 싱글 스레드에 예외가 발생하더라도 다른 스레드에 영향을 미치지 않습니다. 



Multitasking


멀티테스킹은 동시에 다양한 일을 실행하는 프로세스로, 보통 CPU를 활용하기 위해 멀티테스킹을 사용합니다.

멀티테스킹은 아래의 두가지 방법으로 행해질 수 있습니다



1) 프로세스 기반 멀티테스킹 (Mutiprocessing)


- 각각의 프로세스는 메모리에서 그들 고유의 어드레스(address)를 가집니다. 

- 프로세스는 무겁습니다

- 프로세스들 사이에 통신 비용이 높습니다.

- 메모리 맵, 업데이팅 리스트, 레지스터를 저장하고 불러오기 위해 가끔씩 하나의 프로세스가 다른 프로세스로 변환이 필요합니다. 



2) 스레드 기반 멀티테스킹 (Mutithreading)


- 스레드들은 같은 어드레스 공간을 공유합니다. 

- 스레드는 가볍습니다.

프로세스들 사이에 통신 비용이 낮습니다.


Note : 각각의 스레드를 위해 적어도 하나의 프로세스가 필요합니다.



What is Thread in java


정리하자면,

스레드는 가벼운 서브 프로세스이고, 프로세싱의 가장 작은 단위 입니다. 또한 실행을 위한 별도의 경로입니다. 

스레드는 독립적이며, 하나의 스레드에 예외가 발생해도, 다른 스레드들에 영향을 미치지 않습니다.

또, 메모리 공통의 메모리 영역을 공유합니다.


스레드는 프로세스 내부에서 실행됩니다. OS 내부에 다중의 프로세스가 있을 수도 있고, 하나의 프로세스가 다중의 스레드를 가질 수도 있습니다.


Note : 한번에 하나의 스레드만 실행됩니다.







영어원문내용출처 :http://www.javatpoint.com/

번역,의역 및 작성 : 초코토끼

검수 : 개발토끼

오역 및 오타의 지적은 겸손히 받겠습니다.

한동안 업데이트가 늦었습니다.

꾸준히 업데이트 할 수 있도록 노력하겠습니다.


+ Recent posts