Unity 이론 (싱글톤, Process, Thread, Race Condition, Context Switching Overhad, ProgressBar)

로젠·2024년 5월 10일
0

게임 프로그래밍

목록 보기
38/49
post-thumbnail

싱글톤

객체가 하나만 존재하고 사용을 권장하지 않는다.

Class Manager
{
	private Manager()
    {
	}
    private static Manager instance;
    public static Manager Get()
    {
		if(instance == null)
        	instance = new Manager();
        return instance;
    }
}

Process vs Thread

Process와 Thread는 둘 다 병렬 프로그램으로 Process는 실행 위가 파일이고 Thread는 실행 단위가 함수인 차이가 있다. 프로세스는 메모리 공유가 불가능하고 스레드는 메모리 공유가 가능하다.

Multi Process

한 번에 여러 개의 프로그램을 실행해 준다.

Multi Thread

한 번에 여러 함수를 실행하고 Multi Process보다 작은 단위이다. 서로 함수가 공유 가능하여 Process보다 자주 사용한다.

Race Condition

Race Condition은 경쟁 상태라는 뜻으로 이는 함수를 전부 실행하기 전 다른 함수가 실행되어 오류가 발생하는 것이다. 해당 오류가 발생하면 모든 함수가 끝까지 돌 수 없어 결과가 나오지 않는다.

Context Switching Overhad

Context Switching Overhad는 문맥 교환이라는 뜻으로 실행 시간 보다 대기 시간이 길어 생기는 문제이다.

ProgressBar

ProgressBar는 우리가 주로 유니티를 실행할때 볼수있는 바 형태를 말한다.

private IEnumerator UpdateProgressBar()
{
	yield return new WaitForSeconds(2.0f);
    percentge = Mathf.Clamp(percentage, 0, 1);    
    EditorUility.DisplayProgressBar("Thread","Percentage",Percentage);
}
private void OnDestroy()
{
	EditorUility.ClearProgressBar();
}

0개의 댓글