2012-10-14 2 views
-1

나는 GOF 팩토리 메소드 패턴에 대한 실험을했고 이것을 위해 쓰레드를 사용했다. C# .NET에서 동적으로 스레드를 생성하기 위해 GOF Factory Method Pattern을 사용했습니다. 코드 구조는 Factory Method 패턴 예제에서 설명한 것과 동일합니다. 새 스레드를 만드는 것이 좋은 습관으로 간주되지 않는다는 것을 알고 있습니다. 그러나 때로는 요구 사항을 달성하기에 충분하지 않은 방법을 고려해야합니다. 이 패턴에 의해 동적으로 쓰레드를 생성하는 것이 안전한지 또는 런타임에 쓰레드를 생성하고 관리하는 더 좋은 패턴 또는 기술이 있는지를 알아야합니다 ??? 런타임에 여러 개의 스레드를 생성해야하는 프로젝트에서이를 구현할 것입니다.쓰레드 생성

+0

프로그래밍 언어? – rolve

+2

.NET 4.0 TaskFactory 클래스가 마음에 듭니 다. 그 바퀴를 다시 발명하고 그것을 정사각형으로 만드는 것 이외에, 나는 그것이 공장을 사용하는 것이 "안전하지 않은"것이 아님을 증명합니다. –

+0

@HansPassant : 고마워. 대답을 써. 내가 그것을 받아 들일 수 있도록 .. –

답변

2

명시된대로 Hans Passant .NET 4.0 TaskFactory 클래스는 동시 스레드를 만드는 유용한 도구입니다.

작업 팩토리는 Task 개체를 만드는 System.Threading.Tasks.TaskFactory 클래스 또는 Task 개체를 만드는 System.Threading.Tasks.TaskFactory 클래스로 나타냅니다.

Create tasks and start them immediately. 

Create task continuations that start when any or all of an array of tasks complete. 

Create tasks that represent pairs of begin/end methods that follow the Asynchronous Programming Model. 

참조 : 두 클래스는 당신이 사용할 수있는 방법을 포함

1

새 스레드를 만드는 것은 좋은 방법으로 간주되지 않습니다. 스레드 풀 활용을 고려하십시오. 스레드 풀에는 많은 최적화 기능이 내장되어 있습니다. .Net 4.0을 사용하는 경우 작업 병렬 라이브러리를 사용할 수도 있습니다.

+0

TPL에 대한 유용한 링크를 지정 해주시겠습니까 .. –