오블완 26

스레드(Thread)와 스레드 풀(ThreadPool)에 대해 알아보자

오늘은 스레드(Thread)와 스레드 풀(ThreadPool)에 대해 정리해 보고자 합니다. 원래는 Task에 대해서 먼저 글을 작성하고자 했는데 Task의 동작 원리가 Thread와 ThreadPool 개념을 알아야 하더군요.  재미있게도 자꾸 뭔가 거꾸로 공부해 나가는 듯한 느낌이;;스레드 스레드는 CPU 시간을 할당받는 기본 단위기본적으로 모든 프로그램은 메인 스레드를 가지고 있음 장점 메모리를 절약할 수 있다. ->같은 프로세스 내의 스레드들은 메모리를 공유하기 때문.코드, 데이터, 힙 영역 공유 / 각 스레드는 독립적인 스택 영역 보유  단점 반환 값을 받을 수 없다.작업 완료 대기 기능이 없다.실행 중인 작업 취소 불가능하다.   ThreadPool 미리 생성된 스레드들의 집합 / 재사용함으로..

카테고리 없음 2024.11.13

비동기 프로그래밍에 대해 알아보자. #1 ( Await 과 async)

2024.11.10 - [분류 전체보기] - 유니티 - Coroutine에 대해 알아보자 지난 시간에는 코루틴에 대해 글을 작성했었습니다. 여기에 이어서 오늘은 지난 시간 언급한 것 처럼Await와 async에 대해 정리해 보고자 합니다. Async/Await의 주요 특징C# 5.0 이상 버전에서 지원비동기 코드를 동기 코드처럼 작성 가능메인 스레드 차단 없이 비동기 작업 수행 예시 코드 public class AsyncAwaitExamples{ public async Task BasicExampleAsync() { Console.WriteLine("작업 시작"); await Task.Delay(2000); // 2초 대기 Console.WriteLine(..

카테고리 없음 2024.11.12

깃허브 - Repositoy에 있는 파일 경로 변경 (feat : 깃허브 데스크탑, 유니티)

오늘은 깃허브 Repository 파일 경로를 변경하는 법에 대해 정리해 보고자 합니다. 매번 유니티 새 프로젝트를 만들 때마다 깃허브 폴더에 복사하고 옮기자니 귀찮아서 방법을 찾았고 알게 된 내용을 정리해 봤습니다. (꽤 오래전부터 이렇게 사용했는데 의외로 잘 모르는 분들이 있는 거 같더군요.) 유니티 경로로 지정/생성하는 방법   먼저 유니티 프로젝트를 만든 후,깃허브 데스크톱에서 Add를 통해 깃허브 레포지토리를 만들 때Local Path를 유니티 프로젝트 경로로 추가하면 복사 없이 바로 연동해 줄 수 있습니다. 실수로 위치를 잘못 지정했을 때 / 변경하고 싶을 때 방법실수로 폴더 위치를 내부로 지정해서 문제가 발생했지만 당황하지 않고 우클릭 - Show in Explore로 들어가Local에서 원..

카테고리 없음 2024.11.11

유니티 - Coroutine에 대해 알아보자

오늘은 Coroutine에 대해 정리하고자 합니다. 최근에 테스트를 봤었는데Coroutine에 관한 질문에 정확하게 대답을 못 한 거 같아다시 한번 정리를 해보고자 작성했습니다. Coroutine 작업을 다수의 프레임에 분산하는 메서드. 실행을 일시 정지하고 제어를 Unity에 반환하지만, 중단한 부분에서 다음 프레임을 계속할 수 있는 메서드. 객체를 생성할 때 힙 메모리에 할당한다.   중요한 건 ※  비동기식으로 처리하는 것처럼 보이나 그 근본은 동기식이다. 동기식 ? 비동기식?  동기식  = 작업이 순차적으로 실행되는 것 비동기식= 작업이 병렬적으로 실행 가능(동시에 실행 가능)  이름도 들어보도 사용해 봐서 어렴풋이는 기억하고 있었었는데,비동기식이라는 게 당시 안 떠올라서 이상하게 썼던 거 같네요..

카테고리 없음 2024.11.10

의존성 주입(DI/ Dependency Injection)에 대해 알아보자(feat : DIP)

오늘은 의존성 주입(DI/ Dependency Injection)에 대해 알아보고자 합니다. 2024.10.31 - [디자인 패턴] - 디자인 패턴에 대해 알아보자#4 - 팩토리 패턴 (Factory Pattern) (feat : 팩토리 메소드, 추상 팩토리 패턴) 이전에 팩토리 패턴에 대해 글을 작성한 적이 있었는데요,추가로 공부 하다보니 의존성 주입(DI/ Dependency Injection)을 자주 사용한다고 하여DI라는 게 정확히 뭔지 찾아봤고 그 내용을 정리했습니다. DI와 DIP를 엮어서 많이들 소개하던데이전에 작성했던 Solid 원칙을 보고 오신다면 더 이해가 쉬울거로 생각합니다.2024.10.07 - [디자인 패턴] - 디자인 패턴에 대해 알아보자 #1 Solid 원칙 의존성 ? 한 클래..

카테고리 없음 2024.11.08

디자인 패턴 - MVC(Model-View-Controller)패턴에 대해 알아보자(+ MVP, MVVM)

2024.11.05 - [디자인 패턴] - 디자인 패턴에 대해 알아보자#5 옵저버 패턴 (Oberserver) 지난 시간에 이어 오늘은 MVC(Model-View-Controller) 패턴과MVP(Mode-View-Presenter),MVVM(Model-View-ViewModel)에 대해 알아보고자 합니다. MVC 패턴은 몇 번 들어봤는데찾다 보니 MVP, MVVM 패턴도 함께 설명하고 있기에 같이 정리해 봤습니다. 이전에 팩토리 패턴이랑 팩토리 메서드 같은 느낌으로 생각하시면 편할 겁니다.응용한 버전들이랄까.MVC( Model, View, Controller ) 패턴 이 패턴은 UI를 체계적으로 구현하기 위해 만들어진 패턴입니다.이름처럼 Model, View, Controller 세 부분으로 나누어 불..

디자인 패턴 2024.11.07