Python3 파이썬 비동기 프로그래밍 asyncio 클라-서버간의 통신 비동기 말고 서버 성능을 위한 비동기인 파이썬의 asyncio 라이브러리를 사용해서 비동기 프로그래밍을 하는 방법에 대해 정리해 보겠다asyncio는 단일 스레드에서 여러 작업을 동시에 처리하는 것처럼 보이게 해서, I/O 바운드 작업의 성능을 크게 향상시킬 수 있는 도구다.동기 vs. 비동기 예시동기식 프로그래밍은 한 명의 요리사가 한 번에 하나의 요리만 하는 레스토랑. 손님이 스테이크 주문하면, 요리사는 스테이크 다 구워질 때까지 아무것도 안 하고 멀뚱멀뚱. 다음 손님 파스타는 스테이크 다 만든 다음에야 시작.비동기식 프로그래밍은 한 명의 짱짱 요리사가 여러 요리를 동시에 하는 레스토랑. 스테이크 굽기 시작하고, 기다리지 않고 바로 파스타 면 삶기 시작. 면 삶는 동안 샐러드도 만.. 2025. 1. 8. Python Ray 라이브러리 (병렬처리) 1.병렬처리 이전의 방법 multiprocessing에 대해multiprocessing의 라이브러리 경우 프로세스 스포닝(Process Spawning)을 지원하여 자원 내에서 사용 가능한 다중 프로세서를 활용 가능하게 하고 생성한 프로세스 풀을 제어하는 프로세스 풀 객체(pool)을 통해 병렬 처리를 한다. [프로세스 스포닝: 부모 프로세스가 운영 체제에 요청하여 자식 프로세스를 생성하는 과정]그러나 multiprocessing는 자식 프로세스한테 작업해야하는 큰 데이터를 전달할때 pickle을 사용해 직렬화(데이터를 바이트로 변환)한 뒤 전달한다.만약 20개 프로세스에서 작업하도록 설정했다면 그 만큼 직렬화한 데이터 복사본을 만들어야 하므로 큰 메모리 사용하고,직렬화 데이터 받은 프로세스는 원래 .. 2025. 1. 7. 파이썬 복습 1. 삼항연산자 변수 대입조건문에서 참,거짓일때 둘다 어떤 같은 변수에 대입하려하면 이때 참의 경우 행동쪽에 변수를 같이 적어주고 거짓의 행동일땐 값만 넣어준다ex) answer = 1 if num1 == num2 else -1 2. 타입 확인 함수 isinstance()* isinstance(확인하고자 하는 데이터 값, 확인하고자 하는 데이터 타입) 반환은 True,Falseex) if isinstance( 6 , int ) 3. "".join(리스트) 문자열 합치기예를들어 a = ["3","1","2"] 있을때 문자열로 합치고 싶으면 "".join(a) 이렇게 하면 "321" 이다. 만약 구분자 넣어주면 -> "_".join(a) 하면 "3_2_1" 4. 두 변수 a,b 값을 서로 교환.. 2023. 11. 11. 이전 1 다음