JAVA 스레드요..?

koom·2021년 6월 24일
0

JAVA

목록 보기
7/13

thread는 왜 이름이 스레드일까요?


📖 사전을 찾아보니 위와 같은 의미를 가지고 있더군요.
스레드는 한 작업을 실행하기 위해 순차적으로 실행할 코드를 실처럼 이어 놓았다고 해서 유래된 이름이라고 합니다. (이것이 자바다 p576를 참고했습니다)


멀티스레드라는 건 뭔가요?

🎮 게임을 하다보면 내가 움직이지 않더라도 몬스터는 나를 공격합니다.
이게 어떻게 가능한걸까요?
굉장히 사소해보이지만 이건 사실 "멀티스레드"가 있기 때문에 가능한 일입니다.
내가 나를 움직이는 스레드 하나와, 몬스터가 움직이는 스레드 하나가 합쳐졌기 때문에 몬스터는 내가 뭘 하든 상관하지 않고 나를 공격하게 되는 것입니다.

🙄 만약 멀티스레드가 없다면 게임은 어떻게 동작했을까요?
    이런식이었겠죠.
1. 내가 몬스터를 때린다(몬스터는 자기가 한 번 맞을 때까지 기다린다. 그 전에는 나를 공격할 수 없음)
2. 몬스터가 나를 때린다(나는 몬스터에게 한 번 맞을 때까지 기다힌다. 그 전에는 몬스터를 공격할 수 없음.)
1번과 2번의 반복을 하다 결국 체력이 좋은 사람이 승리하는 게임이 되었을 겁니다.
(↑ 이런 게 싱글스레드 방식입니다 ↑)

이런 걸 보면 스레드를 사용하는 이유는 여러 작업을 동시에 하기 위해 필요한 것 같다는 생각이 듭니다.

0개의 댓글