본문 바로가기

C#20

[C#] 캐시 Special Locality 테스트 Temporal Locality 와 Spartial Locality Temporal Loaclity : 최근에 접근했던 주소값을 다시 접근하는 경향 - 한번 사용한 주소의 메모리 영역은 자주 접하게 된다. > 몇 초 뒤 해당 주소에 재접근할 것을 예상하여 캐싱 Spatial Locality : 최근 접근했던 주소값 근처의 주소들을 접근하는 경향. - 한번 사용했던 주소의 근처 영역은 접근이 이루어질 확률이 관계없는 곳보다 더 높다. > 다음 번에 해당 주소의 근처에 접근할 것을 예상하여 블록 단위 캐싱 2023. 3. 5.
[C#] 컴파일러 최적화로 인한 데드락 예제 class Program { private static bool isStop = false; static void Main(string[] args) { Task t = new Task(MainRun); t.Start(); Thread.Sleep(1000); isStop = true; Console.WriteLine("서브 스레드 Stop 호출"); t.Wait(); Console.WriteLine("메인 스레드 종료"); } static void MainRun() { Console.WriteLine("서브 스레드 시작"); while(isStop == false) { } Console.WriteLine("서브 스레드 종료"); } } 단순히 봤을 땐 문제 없으나, Release 모드로 디버그해보면, s.. 2023. 3. 3.
[C#] Thread Join 예제 2023. 2. 27.
[C#] Task Option LongRunning https://learn.microsoft.com/en-us/dotnet/api/system.threading.tasks.taskcreationoptions?view=net-7.0 TaskCreationOptions Enum (System.Threading.Tasks) Specifies flags that control optional behavior for the creation and execution of tasks. learn.microsoft.com 2023. 2. 27.