2024/11/09 2

Thread와 Process의 차이

프로세스란.. 하나의 실행 단위를 이야기한다. 프로세스 전엔 프로그램이다 즉 메모리 영역엔 아직 안올라간 파일이다.프로그램을 실행하면 그 즉시 프로세스는 동작 한다. 이 상태를 동적인 상태라고 하는데 프로그램을 프로세스라고 하낟.프로세스 정의를 내일떄 실행되고 있는 컴퓨터 프로그램이라고 한다.    프로세스와 스레드의 작동 방식에 대한 더 자세한 설명위에서 프로세스가 메모리에 올라갈 때 운영체제로부터 시스템 자원을 할당받는다고 언급했었다. 이 때 운영체제는 프로세스마다 각각 독립된 메모리 영역을, Code/Data/Stack/Heap의 형식으로 할당해 준다. 각각 독립된 메모리 영역을 할당해 주기 때문에 프로세스는 다른 프로세스의 변수나 자료에 접근할 수 없다.   이와 다르게 스레드는 메모리를 서로 공..

Java 2024.11.09

Java ConcurrentHashMap

개발을 하다보면 자주 사용하는 Map이 있다. Map 구현체Map 인터페이스의 구현체로 HashMap, HashTable, ConcurrentHashMap 등이 있다. 이 셋은 과연 어떤 차이가 있을까?   Key, Value에 Null을 허용? Permalink우선 HashMap 같은 경우 key와 value에 null값을 허용한다.@Test void hashmap() { Map hashMap = new HashMap(); hashMap.put("a", null); hashMap.put(null, "a"); assertThat(hashMap.get(null)).isEqualTo("a"); assertThat(hashMap.get("a"..

카테고리 없음 2024.11.09