본문 바로가기

연구소👨‍💻27

[OS] 멀티프로세스, 멀티스레딩 멀티스레드는 무엇인가?사실 멀티스레드는 컴퓨터 CPU가 한개의 프로세스에서 여러개의 작업을 동시에 하게 해주는 프로그래밍 언어의 기능이다.우리의 현재 컴퓨터들이 여러개의 코어를 지니고 있기 때문에 효율적이고 빠른 코드를 만들려면 멀티스레딩, 멀티 프로세싱에 대한 이해는 반드시 필요해보인다.그래서 나도 이번에 한번 공부해보자라는 생각을 하게됐다.멀티 프로세스와 멀티 스레딩의 차이멀티 스레드와 가장 헷갈리는 단어는 멀티 프로세슨데 CS적인 측면에서 둘은 이렇게 다르다.프로세스는 스레드보다 큰 단위다.프로세스는 프로그램 파일이 있을 때 실행하게 되면 메모리 위에 생성되는 프로그램의 인스턴스라고 할 수 있다.그리고 스레드는 프로세스에서 실행되는 어떤 코드의 흐름이다 한 프로세스는 적어도 한 개 이상의 스레드로 .. 2024. 6. 13.
[C++] 람다 함수 들어가며람다 함수는 익명함수이다. 한마디로 함수에 이름이 없이 필요한 자리에서 정의되는 함수라고 볼 수 있다.람다 함수 하면 우리 들은 보통 쓸일이 많지는 않다. 일반적으로 재사용성 높은 코드를 짜는게 좋다고 배우기 때문에 남용해서는 안좋다고 한다.그런데 이제 알고리즘 문제들을 풀다보면 sort를 할 때나 완전 그 떄 한번만 사용하면 되는 조건의 경우에 이 람다식을 사용한다고한다. 그런데 람다식은 생긴게 좀 특이해서 쓸 때마다 까먹는 일이 종종있다. 그래서 이참에 정리하기로 했다.C++ 람다 구조[capture-list](parameters) -> return_type { // function body};일단 람다함수는 이런 구조로 되어있다 설명을 전부 떼고 보면[](){};대, 소, 중괄호가 모두.. 2024. 6. 12.
[Leetcode 648번 문제] 648. Replace Words 문제 상황In English, we have a concept called root, which can be followed by some other word to form another longer word - let's call this word derivative. For example, when the root "help" is followed by the word "ful", we can form a derivative "helpful".Given a dictionary consisting of many roots and a sentence consisting of words separated by spaces, replace all the derivatives in the sentence wi.. 2024. 6. 7.
[C++] Code Splitting, Forward Declaration : #ifndef, #endif 가 뭘까? 들어가며C++을 처음시작했거나 공부하는 사람들은 으레 알고리즘부터 시작하게 된다. 사실 알고리즘 만큼 프로그래밍 언어 공부하기 좋은 것도 없긴하다 하지만 이제 배운 언어로 응용프로그램을 만들고 싶다거나하면 이런 코드를 읽게된다.#ifndef _H264_VIDEO_STREAM_DISCRETE_FRAMER_HH#define _H264_VIDEO_STREAM_DISCRETE_FRAMER_HH#ifndef _H264_OR_5_VIDEO_STREAM_DISCRETE_FRAMER_HH#include "H264or5VideoStreamDiscreteFramer.hh"#endifclass H264VideoStreamDiscreteFramer: public H264or5VideoStreamDiscreteFramer {p.. 2024. 6. 7.