Notice
Recent Posts
Recent Comments
Link
스토리지
[3.29] 스레드 본문
Thread
- 일종의 흐름, Main 메서드또한 Main Thread이다.
- Custom Thread를 선언하고 시작하면 Main Method와는 상관없이 각각의 흐름대로 실행이된다.
- Thread는 메인메서드가 끝나서도 프로세스가 계속남아 실행될 가능성이 있으므로 확실히 끝내줘야된다.
using System.Threading;
Thread 스레드이름 = new Thread(new ThreadStart(메서드));
//ThreadStart는 델리게이트 형식이다. 람다식사용가능.
스레드이름.Start(); //스레드를 시작하는 함수.
스레드이름.Abort(); //스레드를 종료함. ThreadAbortException을 던진다
Thread.Sleep(int milliseconds); //milliseconds만큼 스레드를 일시정지시킴
using System;
using System.Threading;
namespace Study00
{
public class App
{
public App()
{
//스레드 변수선언
Thread t;
//ThreadStart대리자 인스턴스화
ThreadStart ts = new ThreadStart(() =>
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Hello");
Thread.Sleep(500);
}
});
//스레드 인스턴스화(ThreadStart대리자 인스턴스화)
t = new Thread(ts);
//스레드 시작
t.Start();
Thread t2 = new Thread(new ThreadStart(Hi));
t2.Start();
}
private void Hi()
{
for (int i = 0; i < 10; i++)
{
Console.WriteLine("Hi");
Thread.Sleep(500);
}
}
}
}
- Main함수도 일종의 스레드이다.
- 스레드는 생성되면 Main의 흐름과 상관없이 진행된다.
- 각 스레드간의 우선순위는 명시하지 않으면 없으며, 누가 더 높은지는 OS가 지정하므로 알 수 없다.
threadName.join()
- 해당 스레드가 종료되기전까지는 Block 상태(프로그램을 진행하지 않음)로 바꾼다.
'Unity > 수업내용(C#)' 카테고리의 다른 글
[3.29] ★async 및 await을 이용한 비동기 프로그래밍 1★ (0) | 2021.03.29 |
---|---|
[3.26] C# json 직렬화 & 역직렬화 복습 1 (0) | 2021.03.26 |
[3.25] json 파일을 싱글턴 패턴으로 읽어오기 (0) | 2021.03.25 |
[3.25] 싱글턴 패턴 (0) | 2021.03.25 |
[3.25] C#으로 json파일 불러오기 복습 1 (0) | 2021.03.25 |
Comments