상식닷컴
로그인
가입하기
2026년 상식닷컴 선정 식당 & 카페 리스트
2025년 2026년 신상 호텔 리스트
최근에 오픈한 호텔을 찾는다면 살펴보세요
일주일 식단표 어플
자동 일주일 식단표 어플
안드로이드
아이폰
주식 & 코인 차트의 신
1000만원으로 2000만원 만들기 프로젝트
수정하기 - C#에서 Task.Delay()의 사용 예시는 무엇인가요?
닉네임
비밀번호
제목
내용
[이미지 업로드는 권한이 있는 사람만 가능. 하단 카톡으로 연락]
`Task.Delay()`는 C 의 비동기 프로그래밍에서 <a href='https://sangseek.com/sangseeks/주로 사용/ko'>주로 사용</a>되는 메서드로, 특정 시간 동안 비동기적으로 대기하는 기능을 제공합니다. 이 메서드는 `System.Threading.Tasks` 네임스페이스에 포함되어 있으며, 주로 비동기 메서드 내에서 사용됩니다. `Task.Delay()`는 비동기 작업을 수행하는 동안 UI 스레드가 차단되지 않도록 하여 사용자 경험을 개선하는 데 유용합니다. 사용 예시 1. 비동기 메서드에서의 사용 비동기 메서드에서 `Task.Delay()`를 사용하여 특정 시간 동안 대기할 수 있습니다. 예를 들어, 사용자가 버튼을 클릭했을 때, 2초 후에 특정 작업을 수행하도록 설정할 수 있습니다. ```csharp using System; using System.Threading.Tasks; using System.Windows.Forms; public class MyForm : Form { private Button myButton; public MyForm() { myButton = new Button { Text = "Click Me" }; myButton.Click += MyButton_Click; Controls.Add(myButton); } private async void MyButton_Click(object sender, EventArgs e) { myButton.Enabled = false; // 버튼 비활성화 await Task.Delay(2000); // 2초 대기 myButton.Enabled = true; // 버튼 활성화 MessageBox.Show("2초가 지났습니다!"); } } ``` 위의 예제에서 사용자가 버튼을 클릭하면 버튼이 비활성화되고, 2초 후에 다시 활성화되며 메시지 <a href='https://sangseek.com/sangseeks/박스/ko'>박스</a>가 표시됩니다. 이 과정에서 UI 스레드는 차단되지 않으므로 사용자는 프로그램이 여전히 응답하는 것처럼 느낍니다. 2. <a href='https://sangseek.com/sangseeks/타이머/ko'>타이머</a> 대체 `Task.Delay()`는 타이머를 대체하는 데 유용합니다. 예를 들어, 특정 작업을 주기적으로 수행하고 싶을 때 `Task.Delay()`를 사용하여 간단하게 구현할 수 있습니다. ```csharp private async Task PeriodicTask() { while (true) { // 여기서 수행할 작업 Console.WriteLine("작업 수행 중..."); // 5초 대기 await Task.Delay(5000); } } ``` 이 메서드는 무한 루프를 통해 5초마다 작업을 수행합니다. `Task.Delay()`를 사용하여 대기하는 동안 다른 작업을 수행할 수 있습니다. 3. 비동기 초기화 비동기 초기화 작업을 수행할 때도 `Task.Delay()`를 사용할 수 있습니다. 예를 들어, 애플리케이션이 시작될 때 초기 데이터를 로드하는 동안 잠시 대기할 수 있습니다. ```csharp public async Task InitializeAsync() { // 초기 데이터 로드 await LoadDataAsync(); // 사용자에게 로딩 메시지를 보여주기 위해 잠시 대기 await Task.Delay(1000); Console.WriteLine("초기화가 완료되었습니다."); } ``` 이 예제에서는 데이터 로드가 완료된 후 1초 동안 대기한 후 초기화가 완료되었다는 메시지를 출력합니다. 결론 `Task.Delay()`는 비동기 프로그래밍에서 매우 유용한 도구입니다. UI 스레드를 차단하지 않으면서 특정 시간 동안 대기할 수 있는 기능을 제공하여, 사용자 경험을 개선하고 비동기 작업을 간편하게 구현할 수 있게 해줍니다. 다양한 시나리오에서 활용할 수 있으며, 비동기 메서드 내에서 대기하는 작업을 간단하게 처리할 수 있습니다.
이용안내
커뮤니티 이용안내
×
- 게시한 게시글로 발생하는 문제는 게시자에게 책임이 있습니다.
- 게시글이 타인/타업체의 저작권을 침해할 경우 모든 책임은 게시자에게 있습니다. 게시자가 모든 손해를 부담해야 합니다.
- 상식닷컴 운영자는 게시자와 상의하지 않고 게시글을 수정 또는 삭제할 수 있습니다.
- 상식닷컴 운영자는 깨끗한 커뮤니티 공간을 만드는 것이 1순위입니다.
수정하기
취소하기