| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 | 31 |
- 렌더링파이프라인
- 픽셀 쉐이더
- URP
- 버텍스 쉐이더
- SQL시험
- 코스닥
- c#
- unity
- TCP
- 쉐이더
- 정렬
- HDRP
- 코스피
- 네트워크
- 주식
- 유니티 최적화
- 배칭
- 자료구조
- 멀티스레드
- SQL
- SRP
- Heap
- 디자인패턴
- 통신
- vertex shader
- SQLD
- 유니티
- 스레드
- 프로세스
- 운영체제
- Today
- Total
목록CS (6)
Let's Girin!
🗂 목차 1. 동시성이란 2. 프로세스와 스레드의 개념 3. 멀티스레드와 메인 스레드 4. 스레드 전환과 컨텍스트 스위칭 5. 스레드 간 충돌과 동기화 문제 6. 동기화 도구: 뮤텍스, 모니터, 세마포어 7. Unity에서의 동시성 적용 사례 8. Unity C# 예제 코드9. 데드락1. 동시성이란?동시성이란, 여러 작업을 동시에 처리할 수 있는 능력을 말한다. 주의해야 할 점은 실제로 “동시에 실행된다”는 의미가 아니라, CPU가 아주 빠르게 작업을 전환하면서 동시에 실행되는 것처럼 보이도록 처리하는 기술이다. 게임에서는 다음과 같은 다양한 비동시 작업이 요구된다: • 사용자 입력 처리 • AI 계산 • 서버와의 통신 • 애니메이션 및 물리 연산 • 렌더링 처리 이러한 작업들을 효율적으로 병렬 처리하..
1. 공유자원과 동기화1. 1 공유 자원(Shared Resource)공유 자원은 프로세스나 스레드가 함께 사용하는 자원을 의미하며, 메모리, 파일, 전역 변수, 입출력 장치 등이 해당된다. 여러 프로세스나 스레드가 동시에 공유 자원에 접근할 때, 적절한 관리가 없으면 문제가 발생할 수 있다. 이러한 문제를 해결하기 위해 동기화가 필요하다.1.2 임계 구역(Critical Section)공유 자원에 접근하는 코드 중, 동시에 실행하면 문제가 생길 수 있는 부분을 '임계 구역'이라고 부른다. 즉, 프로세스나 스레드가 동시에 임계 구역에 진입하여 자원에 접근하면 자원의 일관성이 깨지거나 예기치 않은 결과가 발생할 수 있다. 따라서 임계 구역에는 한 번에 하나의 프로세스나 스레드만 진입하도록 제어하는 것이 중..
1. 운영체제란?운영체제는 하드웨어를 작동시키는 프로그램으로, 다양한 하드웨어 자원을 프로그램에 배분하는 프로그램이다.CPU, 메모리, 보조기억장치 등 컴퓨터 부품에 접근하여 효율적으로 사용되도록 관리한다. 컴퓨터 부품들을 할당받아 응용 프로그램에게 자원을 할당한다. 응용 프로그램은 CPU, 메모리 등 자원에 직접 접근이 불가능하기 때문에 운영체제 코드를 실행하여 운영체제가 응용 프로그램 자원에 접근을 대신한다. 2. 운영체제의 핵심 기능2.1 자원 할당 및 관리자원(Resource, System Resource)이란 프로그램 실행에 마땅히 필요한 요소이다. 소프트웨어는 실행에 필요한 데이터 자원이고, 하드웨어는 실행에 필요한 부품이다. 2.1.1 CPU 스케줄링CPU 자원은 한정적이기 때문에 다른 ..
1. 컴퓨터가 이해하는 정보: 데이터와 명령어개발자가 작성한 소스 코드는 컴파일을 통해 컴퓨터가 이해할 수 있는 데이터와 명령어로 변환된 후에 실행된다. 컴퓨터가 이해하는 정보는 크게 두 가지로 나뉜다. 데이터는 숫자, 문자와 같은 실제 값을 의미하고, 명령어는 CPU가 처리할 작업을 지시하는 역할을 한다. 컴퓨터 내부에서 이 데이터와 명령어가 처리되는 과정을 이해하기 위해서는 컴퓨터의 주요 부품들에 대해 알아야 한다.2. 컴퓨터의 핵심 부품컴퓨터는 CPU, 메모리, 캐시 메모리, 보조기억장치, 입출력장치라는 핵심 부품으로 이루어져 있다. 이 부품들은 서로 상호작용하여 프로그램을 실행하고 데이터를 처리한다. 2.1 CPU(Central Processing Unit, 중앙처리장치)CPU(Central Pr..
전역변수와 싱글톤 패턴은 둘 다 여러 곳에서 접근할 수 있는 공통 자원을 제공하지만, 목적과 사용 방법에서 차이가 있다.1. 전역 변수전역 변수는 프로그램이 시작될 때 초기화되며, 종료 시까지 메모리에 상주한다.프로그램의 모든 모듈에서 접근 가능하며, 모든 함수와 객체가 이 변수를 공유할 수 있다.데이터 공유와 접근이 용이하지만 코드의 의존성이 높아질 수 있다. 전역 변수는 특정 값의 변경 추적이 어려워 디버깅과 유지 보수의 단점이 있다. 2. 싱글톤 패턴*싱글톤 패턴특정 클래스의 인스턴스가 하나만 생성되도록 보장하는 디자인 패턴이다. 싱글톤 인스턴스는 처음 필요할 때 생성되며 이후에는 동일한 인스턴스를 재사용한다.클래스 내부에서 해당 인스턴스를 관리하며, 접근 시 메서드를 통해 제어된다.객체 지향 ..
1. 인터페이스 (Interface)인터페이스는 구현이 없는 추상적인 개념으로, 메서드의 이름, 매개변수, 반환 형식을 정의한 것이다. 인터페이스를 상속받으면 정의한 모든 메서드를 반드시 구현해야 한다. 클래스가 여러 개의 인터페이스를 동시에 구현할 수 있다.기본적으로 public 접근 제어자를 가지며 다른 접근 제어자는 사용할 수 없다. 2. 추상 클래스 (Abstract Class)하나 이상의 추상 메서드를 포함하고 있으며 메서드는 구현이 없거나 일부 동작을 구현하고 있다. 하위클래스에서는 추상클래스에서 정의된 메서드를 구현해야 한다. 클래스는 하나의 추상 클래스만을 상속 할 수 있다. 메서드는 모든 접근 제어자를 가질 수 있다.3. 차이점3.2 구현인터페이스는 메서드의 구현을 갖지 않으며 하위클래..