프로세스: 실행중인 프로그램
멀티프로세스: 두 개 이상 프로세서(CPU) 여러 프로그램을 번갈아가면서 동작
독립적인 메모리 공간을 차지해서 자원 공유 되지 않음
스레드: 프로세스 내에서 동작하는 작업
멀티쓰레드: 1개의 프로세스 내에서 여러 작업을 Thread가 나눠서 동작
데이터를 공유, 동기화문제, 하나가 문제 생기면 전부 문제 발생
컨텍스트 스위칭: 작업을 왔다갔다 하면서 실행
파이썬에서는 멀티프로세싱이 가능하다고 해서 자바에서 가능한지 찾아봤지만 자료가 거의 없다.
프로그램을 여러 개 실행 시키는 것으로 보이는데 성능은 떨어진다.
다른 내용이 있는 듯하나 아직 이해가 어렵다.
파이썬에서는 멀티프로세싱이 가능하다고 해서 자바에서도 궁금했지만 원하는 자료는 찾지 못함.
적정 스레드 개수를 찾고 너무 많은 스레드를 사용하는 경우 생성 시 자원소모가 많아 비효율적
많이 사용하려면 스레드 풀을 고려
CPu thread와 프로그래밍에서 thread는 다르다.
https://stackoverflow.com/questions/5593328/software-threads-vs-hardware-threads
동시성, 병렬 용어 차이?
https://stackoverflow.com/questions/1050222/what-is-the-difference-between-concurrency-and-parallelism
java thread core
https://stackoverflow.com/questions/34689709/java-threads-and-number-of-cores/34689857
java 멀티프로세싱
https://stackoverflow.com/questions/8001966/how-to-do-multiprocessing-in-java-and-what-speed-gains-to-expect
'MY' 카테고리의 다른 글
javascript (0) | 2023.11.19 |
---|---|
참고용 링크 (0) | 2023.09.10 |
code style (0) | 2023.08.05 |
Substring (0) | 2023.07.22 |
ajax 엑셀 다운 (0) | 2023.05.13 |