2012-11-21 3 views
2

다음 접근 방식의 차이점은 무엇입니까?새 스레드와 작업 간의 차이점이 새로 시작됩니까?

Task.Factory.StartNew(() => CustomConnection()); 


new Thread(CustomConnection).Start(); 

두 가지 모두 작업 수행을위한 새로운 스레드를 생성합니다. 어떤 의미에서 쓰레드는 작업과 다른가?
더 나은 옵션이 현명하게 성능 ??

+1

가능한 복제본 http://stackoverflow.com/questions/4130194/what-is-the-difference-between-task-and-thread – margabit

+0

하지만 좋은 옵션이 될 현명한 성능을 묻습니다. – Olivarsham

답변

4

중요한 차이점은 작업 접근 방식이 스레드 풀을 활용한다는 점입니다.

절대적으로 필요한만큼의 스레드 만 생성한다는 점에서 중요합니다. 가능한 경우 기존 스레드를 다시 사용하여 새로운 스레드를 만들지 않아도되는 성능 이점을 제공합니다.

많은 스레드를 생성하는 경우 상대적으로 짧은 실행 작업을 위해 위의 이점이 더 중요 해집니다. 그러나 작업이 하나 또는 소수의 장기 실행 작업 인 경우 이점이 적습니다.

+0

그래서, 그것 작업 방식을 사용하는 것이 좋습니다. 권리?? 감사합니다 – Olivarsham

+1

@Olivarsham : 항상은 아닙니다. 참조 : http://stackoverflow.com/questions/12760956/are-there-any-scenario-where-tasks-should-not-be-used/12761012 – Tudor

관련 문제