2013-08-16 1 views
0

의 할당 그래서이 순회 변수의 이름

내가 T1의 T2의 T3 등이라고 10 개 스레드 싶은 말 .. 난 항상 궁금했습니다 뭔가 ...하지만 내가 쓰고 싶지 않아

Thread t1 = new Thread(run); 
Thread t2 = new Thread(run); 
Thread t3 = new Thread(run); 
... 
이 같은

오히려 뭔가 : (의사 코드)

for(int i = 0; i <= 10; i++){ 
    Thread t + i = new Thread(run); 
} 

이 할 수있는 방법이 있습니까?

미리 감사드립니다.

편집 : 좋아,이게 내가하고 싶었던 것을 기본적으로 모든

static void Main(string[] args) 
    { 
     int n = 0; 
     Program p = new Program(); 
     List<Thread> threads = new List<Thread>(); 

     for(int i = 0; i <= 10; i++) 
     { 
      threads.Add(new Thread(p.run)); 
     } 

     foreach(Thread t in threads) 
     { 
      n++; 
      t.Name = "Thread " + n; 
      t.IsBackground = true; 
      t.Start(); 
     } 

     Console.ReadKey(false); 
    } 

감사합니다!

+0

최종 목표는 무엇입니까? 그냥 10 개의 스레드가 있습니까? –

+1

배열과리스트 이 존재하는 이유입니다. – Joe

답변

2

아니요, 불가능합니다. 왜 이것만은 아닌가?

for(int i = 0; i <= 10; i++){ 
    new Thread(run); 
} 

각 스레드에 대한 참조를 실제로 유지하려면 목록에 저장할 수 있습니다.

+0

흠 ... iterating ... 동안 각 하나를 목록에 추가하는 동안이 작동한다고 가정합니다. 좋습니다, 감사합니다! – Adam