스레드 3

동시성(병행성) vs 병렬성

동시성(Cuncurrency) 논리적 개념 at the same time (X) 동시성이란 스위칭으로 한 번에 여러 작업을 동시에 다루는 것을 의미 → 싱글 프로세스, 싱글 스레드가 스위칭을 하면서 여러 작업을 수행 → 멀티스레드도 스위칭하며 작업 가능 비유) 하나의 로봇이 왔다 갔다 하며 작업을 수행 (바운드될 때마다 스위칭) 병렬성(Parallelism) 물리적 개념 at the same time (O) 병렬성은 한 번에 여러 작업을 병렬적으로 처리하는 것을 의미 → 멀티 프로세스, 멀티 스레드를 통해 동시에 여러 작업을 수행 → 싱글 스레드는 불가능 비유) 여러 로봇이 동시에 각자 맡은 작업을 수행 유의할 점 동시성과 병렬성은 함께 공존할 수 있다. 예를 들어 병렬적으로 작업을 수행하면서 그 하위에..

컴퓨터 구조와 운영체제 기본

1. 컴퓨터 구성 요소 CPU 명령어를 해석하여 실행하는 장치 메모리 주메모리 : 작업에 필요한 프로그램과 데이터를 저장하는 장소(동적) 보조메모리 : 저장장치라고 불리며 데이터를 일시적 또는 영구적으로 저장하는 장소(정적) 입출력 장치 키보드, 마우스, 모니터 등 시스템 버스 컴퓨터 구성 요소들을 연결하고 데이터를 주고 받는 역할 2. 운영체제(OS) 정의 : 컴퓨터 시스템을 운영하고 관리하는 소프트웨어 운영체제가 없는 컴퓨터는 처음에 설계한 대로만 사용할 수 있는 단순한 계산기에 불과하다 운영체제가 있는 컴퓨터를 프로그램이 가능한 기계라고 한다 윈도우, 맥, 우분투, 리눅스 등 프로세스 프로그램 : 어떤 문제를 해결하기 위해 컴퓨터에게 주어지는 처리 방법과 순서를 기술한 일련의 명령문의 집합체 (일련..

threading 왜 되는 걸까? PumpMessages가 뭐길래?

목표 flask-app 실행 후 Cybos-Subscribe 시작, event 수신 데이터 받아 DB에 저장하기 문제 성공한 줄 알았던 threading이 다시 보니 정상적으로 작동하지 않음 스레드는 나눠진 것 같으나 cybos api의 정보를 정상적으로 받아오지 못하는 상황 cybos api 오류가 뜨거나 flask context app 오류가 뜨거나, 정확한 원인도 파악하지 못하는 상황 행동 일단 리더님께 말씀드리고 피드백에 따라 flask와 분리하여 작게 테스트를 해보기 시작 cybos api 오류의 경우 pythoncom.CoInitialize()로 어떻게든 잡음 서브 스레드의 경우 cybos 인스턴스를 초기화해야하기 때문? >>> 레퍼런스 기존 PumpWaitingMessages 코드를 Pump..

Log/Today 2022.01.13