C++,python (인프런+사이트)/python 파이썬 정리16 코루틴 메인<--->서브 주고 받는법 미완성 코루틴 주고 받는방법 Ex1 Ex2 Ex3 있는데 단계별로 임 알아서 쓰면됨 # Chapter06-03 # 흐름제어, 병행성(Concurrency) # 코루틴(Coroutine) # yield, send : 메인 서브 # 코루틴 제어, 상태, 양방향 전송 # yield from # 서브루틴 : 메인루틴에서 호출 -> 서브루틴에서 수행(흐름제어) # 코루틴 : 루틴 실행 중 중지 -> 동시성 프로그래밍 # 코루틴 : 쓰레드에 비해 오버헤드 감소 # 쓰레드 : 싱글쓰레드 -> 멀티쓰레드 -> 복잡 -> 공유되는 자원 -> 교착 상태 발생 가능성, 컨텍스트 스위칭 비용 발생, 자원 소비 가능성 증가 # 파이썬 3.5부터는 def대신 async로 쓰고, yield대신 await로 씀 # 코루틴 Ex1 d.. 2022. 4. 4. 코루틴 메인--->서브 보내는법 미완성상태 # Chapter06-03 # 흐름제어, 병행성(Concurrency) # 코루틴(Coroutine) # yield : 메인 서브 # 코루틴 제어, 상태, 양방향 전송 # yield from # 서브루틴 : 메인루틴에서 호출 -> 서브루틴에서 수행(흐름제어) # 코루틴 : 루틴 실행 중 중지 -> 동시성 프로그래밍 # 코루틴 : 쓰레드에 비해 오버헤드 감소 # 쓰레드 : 싱글쓰레드 -> 멀티쓰레드 -> 복잡 -> 공유되는 자원 -> 교착 상태 발생 가능성, 컨텍스트 스위칭 비용 발생, 자원 소비 가능성 증가 기본형식 간단히 메세지타입data를 메인서브 끼리 주고 받는 형식이다. 코루틴함수(서브)쪽은 "변수 = yield" 형식으로 짜고 Main함수쪽(메인)은 next( )함수로 Start시켜주.. 2022. 4. 4. Generator 제너레이터 ( Yield ) https://dojang.io/mod/page/view.php?id=2412 파이썬 코딩 도장: 40.1 제너레이터와 yield 알아보기 Unit 40. 제너레이터 사용하기 제너레이터는 이터레이터를 생성해주는 함수입니다. 이터레이터는 클래스에 __iter__, __next__ 또는 __getitem__ 메서드를 구현해야 하지만 제너레이터는 함수 안에서 yield dojang.io 제너레이터는 이터레이터를 생성해주는 함수 이다. 함수 안에서 yield를 사용하면 함수는 제너레이터가 되며 yield에는 값(변수)을 지정합니다. 제네레이터는 다양한 방법으로 만들 수 있고,(iterable한것만) 그 중 import itertools 이라는 패키지를 이용하면 더 다양한 기능을 사용해 만들 수 있다. 중요시 볼.. 2022. 4. 4. 데코레이터 # 장점 # 1. 중복 제거, 코드 간결, 공통 함수 작성 # 2. 로깅, 프레임워크, 유효성 체크..... -> 공통 기능 # 3. 조합해서 사용 용이 중점으로 볼점들 1. 데코레이터 쓰는 이유 2. 데코레이터 동작방식 3. 데코레이터 쓰는 형식 4. 데코레이터는 다른사람이 만든 소스코드를 이용해서 사용하기는 쉽다. 1. 데코레이터 쓰는 이유 유효성체크가 가장 큰거 같다. 데코레이터를 쓴다는 가독성이 있다. 왜냐면 데코레이터를 쓰는 목적의 범위가 있으니까 가장큰 ex가 밑에 예제다. 함수를 쓸 때 함수정보들을 바로바로 확인이 되니까 2. 데코레이터 동작방식 데코레이터 함수가 명시된 time_func함수가 있다고 가정하면 time_func() 함수 사용후 데코레이터 함수도 실행이 된다. 3. 데코레이터 .. 2022. 4. 3. Closure 클로저 클로저에 대한 개념은 Class로 구현한 Closure에 써놈 # Closure(클로저) 사용 이유 # 서버 프로그래밍 -> 동시성(Concurrency)제어 -> 메모리 공간에 여러 자원이 접근 -> 교착상태(Dead Lock) # 메모리를 공유하지 않고 메시지 전달로 처리하기 위한 -> Erlang # 클로저는 공유하되 변경되지 않는(Immutable, Read Only) 적극적으로 사용 -> 함수형 프로그래밍 # 클로저는 불변자료구조 및 atom, STM -> 멀티스레드(Coroutine) 프로그래밍에 강점 클로저 정리 : 한 클래스 or 함수 내에서 shared 데이터 쓰는거 마냥 data를 공유(공통)으로 쓰는 방식 말로풀자면 작업 1,2,3,4,5 가 있는데 1작업이 30% 정도 진행되고 있고.. 2022. 4. 3. Class로 구현하는 클로저 기능 클로저 설명 # Closure(클로저) 사용 이유 # 서버 프로그래밍 -> 동시성(Concurrency)제어 -> 메모리 공간에 여러 자원이 접근 -> 교착상태(Dead Lock) # 메모리를 공유하지 않고 메시지 전달로 처리하기 위한 -> Erlang # 클로저는 공유하되 변경되지 않는(Immutable, Read Only) 적극적으로 사용 -> 함수형 프로그래밍 # 클로저는 불변자료구조 및 atom, STM -> 멀티스레드(Coroutine) 프로그래밍에 강점 한 클래스 or 함수 내에서 shared 데이터 쓰는거 마냥 data를 공유(공통)으로 쓰는 방식 말로풀자면 작업 1,2,3,4,5 가 있는데 1작업이 30% 정도 진행되고 있고 2작업이 급하게 해야하는 상황일때, 1작업을 중단하고 2작업을 끝.. 2022. 4. 3. 이전 1 2 3 다음