스레드 이름을 사용하여 스레드를 중단시킬 수 있는지 궁금합니다. 여기에 몇 가지 예제 코드가 있습니다 :이름을 통해 스레드를 중단하는 중
public void blah() {
int TableID = 4; //set by the using at runtime
Thread myThread = new Thread(() => beginUser(picture));
myThread.Name = Convert.ToString(TableID);
myThread.Start();
}
이제 스레드를 만들었습니다. 나중에 프로그램에서 사용자가 스레드를 종료 할 수 있습니다, 거기에 내 질문에 온다. 어떻게 이름을 통해 스레드를 종료 할 수 있습니까? 아니면 그것을 끝내는 또 다른 방법일까요? 나는 backround worker를 사용하고 싶지 않다.
예 : myThead[4].Abort();
덕분에 간단하게 매핑 스레드와 당신이 원하는 목적지에서 죽일 threadname를 저장하기 위해 사전을 사용하지 왜
이 스레드의 수명은 얼마나됩니까? 중 Dictionary 에있는 스레드를 매핑하고 있습니까? 모든 이름이 고유 할 것입니까? –
ilansch
가장 간단한 방법은 사전별로 추적하는 것입니다 (예 :'Dictionary'). 또 다른 방법은'Process.Threads'로 파헤치는 것입니다. 그러나 처음에는 왜 그걸 필요로합니까? –
Leri
@Leri 내 프로그램은 바를 사용하여 풀 테이블 사용을 관리합니다. 그들은 큰 테이블과 작은 테이블을 가지고, 내 프로그램은 동적으로 양식 패널에 새 테이블을 추가 할 수있게 해줍니다. 그러면 새 스레드가 시작될 것이고이 스레드에서는 프로그램이 계산을 할 것입니다. 비용을 절감 할 수 있습니다.) 고객이 사용을 마쳤을 때 바 직원이 양식을 마우스 오른쪽 버튼으로 클릭하고 테이블의 이미지를 제거하고 제거하면 나에게 실을 끝내야합니다. 원한다면 어떻게 든 전체 프로그램을 보낼 수 있습니다. – user2864613