programing

Task.Factory.StartNew 대 새 작업

javaba 2021. 1. 15. 19:12
반응형

Task.Factory.StartNew 대 새 작업


일의 차이가 있는지 아는 사람 있나요 Task.Factory.StartNewnew Task호출하여 다음 Start작업에가. 반사경을 보면 큰 차이가없는 것 같습니다. 따라서 아마도 유일한 차이점 Task.Factory.StartNew은 이미 시작된 작업을 반환한다는 것입니다. 이 올바른지?

나도 알아 Task.Factory.StartNew하고 Task.Run있는 다른 기본 옵션 및 Task.Run닷넷 4.5 선호하는 옵션입니다.


Stephen Toub 의이 훌륭한 기사를 발견했습니다. 기사 new Task(...).Start()는 시작 방법이 동기화를 사용하여 작업이 한 번만 예약되도록해야하기 때문에을 사용할 때 실제로 성능 저하가 있음을 설명합니다 .

그의 조언은 Task.Factory.StartNew.net 4.0에 사용하는 것을 선호한다는 것 입니다. .net의 경우 4.5 Task.Run더 나은 옵션 입니다.


실제로 Stephen Toub의 기사 에서 그는 Task.Run ()이 기본 매개 변수와 함께 Task.Factory.StartNew ()를 사용하는 것과 정확히 동일하다고 지정합니다.

Task.Factory.StartNew(someAction, 
CancellationToken.None, TaskCreationOptions.DenyChildAttach, TaskScheduler.Default);

참조 URL : https://stackoverflow.com/questions/22087005/task-factory-startnew-vs-new-task

반응형