2023/03 22

Chapter 16 네트워킹(Networking)

1. 네트워킹(Networking) 네트워킹(Networking): 두 대 이상의 컴퓨터를 케이블로 연결해서 네트워크를 구성하는 것을 말한다. 초기의 네트워크는 몇 대의 컴퓨터로 구성됐으나 현재는 셀 수 없을 정도로 많은 컴퓨터가 인터넷이라는 하나의 거대한 네트워크를 구성하고 있으며 인터넷을 통해 다양하고 방대한 양의 데이터를 공유 가능하다. 자바의 java.net 패키지를 이용하면 네트워크 애플리케이션의 데이터 통신 부분을 쉽게 작성 가능 1.1 클라이언트(client)와 서버(server) 클라이언트와 서버는 컴퓨터간의 관계를 역할로 구분하는 개념이다. 서버(server): 서비스를 제공하는 컴퓨터 보통적으로 서버는 다수의 클라이언트에게 서비스를 제공하기 때문에 고사양의 하드웨어를 갖춘 컴퓨터이다. ..

Java/Java의 정석 2023.03.02

Chapter 13 스레드(Thread)

1. 프로세스(Process)와 스레드(Thread) Def) 프로세스(Process): 실행 중인 프로그램이다. 프로그램을 실행하면 OS로부터 필요한 자원(메모리)을 할당 받아서 프로세스가 된다. 프로세스는 프로그램을 수행하기 위해 필요한 데이터, 메모리 등의 자원 그리고 스레드로 구성된다. Def) 여기서 프로세스의 자원을 이용해서 실제로 작업을 수행하는 것을 스레드라고 한다. 다시 말해 스레드는 프로세스의 실행 단위를 말한다. 스레드를 경량 프로세스(LWP, Light Weight Process)라고도 부른다. 프로세스는 하나 이상의 스레드를 포함한다. 프로세스는 공장, 스레드는 작업을 처리하는 일꾼이라고 이해할 수 있다. 멀티스레드 프로세스(multi threaded process): 둘 이상의 ..

Java/Java의 정석 2023.03.01