본문 바로가기

Developing../Python21

Concurrency in python +GIL 동시성과 4가지방법동시성은 사실상 멀티프러세싱밖에 없음 스레딩과 비동기는 코드통제방식의 차이 스레딩은 운영체제가 맘대로 코드를 짤라내면서 자원 분배함. 결과적으로 속도개선. 비동기는 코드내에서 의미단위로 통제권 이양함. 동시성을 사용하는 이유IO바운드와 CPU바운드 해결목적 입출력바운드 : 데이터 입출력이 느림.(파일시스템,네트워크). 비동기 프로그래밍이 해결책CPU연산바운드 : 연산이 느림. 각 CPU마다 프러세스 하나씩 만들어주는 멀티프로세싱이 해결책. 프로세스>CPU이면 프로세스 이동시키는데 자원소모됨.I/O-Bound ProcessCPU-Bound Process.Your program spends most of its time talking to a slow device, like a networ.. 2021. 2. 9.
Socket Programming w/ Multithreading Socket Programming-> 클라이언트/서버 연결해주는 프로그램. 클라리언트는 메세지를 전달하고 받는 주체 서버는 클라이언트가 보내는 데이터로 작업하는 리스너(수동적인 주체) Thread -> 기존 프로세스보다 좀더 가볍게 메모리 오버헤드를 사용하는 분할된 프로세스 Multi-threading -> 여러개 스레드를 "하나의 프로세스"에서 동시에 실행시키는 작업(프로세스) Multi-threading Socket Programming -> 소켓연결을 멀티스레딩으로 구현해놓은 프로그램 Multi-threading Modules :파이썬은_thread 과 threading 모듈로 멀티스레딩구현함 (동기화와 스레드LOCK 가능함) *스레드 락 - 락 : lock.acquire() - 언락 : lock... 2021. 2. 9.
Projects in Python - price notifications 보호되어 있는 글 입니다. 2021. 2. 5.
Testing in Python source : realpython.com/python-testing/ Getting Started With Testing in Python – Real Python In this in-depth tutorial, you’ll see how to create Python unit tests, execute them, and find the bugs before your users do. You’ll learn about the tools available to write and execute tests, check your application’s performance, and even look for realpython.com source : command line app, web apps realpy.. 2021. 2. 5.