task

    [Unity] ThreadPool (스레드풀)

    스레드를 사용하기 위해선 다음과 같이 선언 해줘야한다. using System.Threading; 스레드 선언하기 Thread t = new Thread(MainTread); 스레드를 사용하기 위해 다음과 같이 스레드 생성자를 만든다. 넘겨주는 MainTread 함수 또한 생성한다. static void MainTread(object state) { Console.WriteLine("Hello Thread!"); } 기본 스레드는 foreground에서 실행되는 형태이다. 스레드의 이름을 설정하고 싶으면 Name 을 활용한다. static void Main(string[] args) { Thread t = new Thread(MainTread); t.Name = "Test Thread"; //이름을 설정..

    [Unity] UniTask VS Task (UniTask 개념 포함)

    https://github.com/Cysharp/UniTask GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity. Provides an efficient allocation free async/await integration for Unity. - GitHub - Cysharp/UniTask: Provides an efficient allocation free async/await integration for Unity. github.com 왜 UniTask를 사용해야 할까? 1. 코루틴으로 관리하기에는 try-catch로 예외처리를 할 수가 없다. 2. 코루틴은 return 타입..

    C# Task 클래스

    Task 클래스와 이의 Generic형태인 Task클래스는 .NET 4.0에 도입된 새로운 클래스들로서 쓰레드풀로부터 쓰레드를 가져와 비동기 작업을 실행한다. Task 관련 클래스들과 Parallel 클래스들을 합쳐 Task Parallel Library(TPL)이라 부르는데, 이들은 기본적으로 다중 CPU 병렬 처리를 염두에 두고 만들었다. Task 클래스는 .NET 4.0 이전 버전의 ThreadPool.QueueUserWorkItem()와 같은 기능을 제공하지만, 보다 빠르고 유연한 기능을 갖추고 있다. Task클래스 사용을 위해 흔히 사용되는 방법은 Task.Factory.StartNew()를 사용하여 실행하고자 하는 메서드에 대한 델리케이트를 지정하는 것이다. 이 StartNew()는 쓰레드를 ..