단일 프로세스 : 한번에 하나의 프로그램만 실행된다
멀티 프로세스 : 여러 프로그램을 번갈아가면서 실행된다
프로세스 : 자신만의 고유 공간과 자원을 할당받아 사용한다
스레드 : 다른 스레드와 공간과 자원을 공유하면서 사용한다
for(int i=0; i < 300; i++)
System.out.printf("%s", new String("-"));
for(int i=0; i < 300; i++)
System.out.printf("%s", new String("|"));
메인 스레드가 종료되더라도 실행 중인 스레드가 하나라도 있다면 프로세스는 종료되지 않습니다.
스레드는 병렬로 작용하기 때문이다.
main 스레드의 흐름 안에서 멀티 스레드 어플리케이션은 필요에 따라 작업 스레드를 만들어 병렬로 코드를 실행할 수 있게 됩니다.