신문



HEROKU 호스팅

bs4를 사용하면 될까 하면서 2022.02.09 00:57인 현재 까지 붙잡고 있지만 잘 되어 가지 않다..
1시간 뒤.. 완료 2022.02.09 01:45 포스팅을 인제 해보겠다.
디스코드 봇 - HEROKU



쓰레드 + 멀티 쓰레딩

운영체제

쓰레드

thread ID, PC, register, stack으로 이루어져 있다.

유저 vs 커널 쓰레드
User : 커널의 도움이 없는 쓰레드 (VM에서 사용, JAVA의 경우)
Kernel : OS의 도움으로 관리를 받는 쓰레드

3가지 유형
Many - to - One
One - to - One
Many - to - Many

멀티 쓰레딩

웹서버와 같이 클라이언트의 요청이 발생하면 새로운 쓰레드를 제공 하고 다시 다른 요청을 해결할 수 있다.

장점
반응성 : 비동기적 처리를 가능케한다.
자원 공유 : 프로세스의 자원을 공유한다.(기본적으로 data, code, files를 공유한다.)
경제성 : PCB를 교체하는 것보다 자원을 절약할 수 있다.
멀티프로세서 구조의 이점을 더 얻을 수 있다.

멀티코어에서의 멀티 쓰레딩

쓰레드를 병렬적으로 실행할 수 있게함.
Challenge
1. Identifying tasks : 업무를 어떻게 나눌지
2. Balance : 효율적으로 CPU를 사용하기 위해 균등한 분배
3. Data Splitting : 분할 정복 방식의 경우 데이터를 어떻게 분리할지
4. Data dependency : 업무의 실행 순서 판단. 특정 결과가 있어야 프로그램이 실행되는 경우
5. Testing, debugging : 싱글 쓰레드보다 복잡함

Amdahl's Law

병렬적 실행으로 얻는 시간적 이득
speedup <= N / ((N - 1) * S + 1)
S : 순차적으로 실행해야 하는 일의 비율
N : 코어의 수

주의 .

쓰레드를 만든 프로세스를 fork()하느 경우. OS에 따라 쓰레드도 함께 가져갈 수 있음.
이에 대한 추가 내용이 필요.

0개의 댓글