-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
6:00
24.04.13 11:48 작성 조회수 65
1
릴리즈 모드로 해도 디버그 모드랑 동일하게 출력되는데 뭐가 문제인가요?
using System.Threading;
namespace ServerCore
{
internal class Program
{
// 전역이기 때문에 쓰레드들이 동시에 접근 가능
static bool _stop = false;
static void ThreadMain()
{
Console.WriteLine("쓰레드 시작!");
while(_stop == false)
{
// 누군가가 stop 신호를 해주기를 기다린다
}
Console.WriteLine("쓰레드 종료!");
}
static void Main(string[] args)
{
// Thread t = new Thread(ThreadMain);
Task tt = new Task(ThreadMain);
tt.Start();
// 1초 존야 후 다시 실행
Thread.Sleep(1000);
_stop = true;
Console.WriteLine("stop 호출");
Console.WriteLine("종료 대기중");
tt.Wait(); // t.Join(); 과 동일
Console.WriteLine("종료 성공");
}
}
답변을 작성해보세요.
0
Rookiss
지식공유자2024.04.13
버전에 따라 다른데, 최신 운영체제/VS 환경에서는 실험이 안 되더라구요.
그래도 [컴파일러 버전에 따라 문제가 발생할 수 있다] 정도로만 이해해주시면 되겠습니다.
(그리고 volatile의 용도도..)
답변 1