ProcessThreadCollection에서 이름으로 실행중인 스레드 가져 오기

Cezarlamann

Stack Overflow 질문과 인터넷 검색을 검색 한 후에도 여전히 이해하지 못합니다.

"Thread.isAlive ()"메서드로 단일 스레드가 실행 중인지 확인할 수 있다는 것을 알고 있지만 현재 프로세스에서 실행중인 모든 스레드간에 특정 "FooThread"가 여전히 실행 중인지 확인하고 싶지 않은 경우 그것을 시작하는 메소드를 호출하십시오.

//somewhere in the code, on another Project/DLL inside solution
private void FooThreadCaller()
{
    Action act = () => fooFunction();
    Thread t = new Thread(new ThreadStart(act));
    t.Name = "FooThread";
    t.Start();
}
//...
Process proc = System.Diagnostics.Process.GetCurrentProcess();
ProcessThreadCollection threads = proc.Threads;
bool ThreadExists = false
foreach (ProcessThread item in threads)
{
    // if item.Name == "FooThread", then ThreadExists = true...
    // so, if !ThreadExists then call FooThreadCaller() and so on.
}
//...

ProcessThread 클래스에는 System.Threading.Thread와 같은 "Name"속성이 없지만 ID 만 있고 ID가 아닌 스레드 이름 ( "FooThread") 만 알고 있기 때문에 "FooThread"인지 어떻게 확인할 수 있습니까? 실행 중 / 살아 있습니까?

미리 감사드립니다

슬라이더 345

다른 답변에서 언급했듯이 ProcessThread 및 Thread 개체는 다릅니다. 귀하의 dll은 자체 Thread 객체를 생성하지만 해당 객체에 대한 참조를 버립니다. 그런 다음 나중에 해당 스레드에 대해 OS (System.Diagnostics를 통해)를 쿼리하고 이전에 스레드 작성자와 동일한 수준의 액세스를 기대합니다.

대신 스레드 개체를 만들 때 참조를 저장해야합니다. 아마도 dll이 공용 정적 컬렉션 개체를 구현 한 다음 스레드 개체를 만들 때 추가 할 수 있습니다.

그런 다음 dll 외부에서 컬렉션을 반복하고 각 스레드의 이름과 상태를 확인할 수 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

클러스터에서 실행중인 컨테이너 목록 가져 오기

분류에서Dev

프로세스가 실행중인 JobObject에 대한 핸들 가져 오기

분류에서Dev

클라이언트에서 이름으로 World 인스턴스 가져 오기

분류에서Dev

`setUp`에서 실행중인 테스트 가져 오기

분류에서Dev

Swift에서 이름으로 인스턴스 변수 가져 오기

분류에서Dev

스크립트가 현재 [Python]에서 실행중인 전체 경로 가져 오기

분류에서Dev

경로에 공백이있는 경우 실행중인 프로세스의 경로 가져 오기

분류에서Dev

워드 프레스에서 라벨 이름 가져 오기

분류에서Dev

Solr : 서버가 실행중인 동안 Lucene 인덱스 가져 오기

분류에서Dev

각도기-테스트가 실행중인 셀레늄 노드 가져 오기

분류에서Dev

특정 검색으로 다중 테이블에서 레코드 가져 오기

분류에서Dev

AVA에서 실행중인 동시 테스트 수 가져 오기

분류에서Dev

Jenkins 슬레이브에서 gradle git 플러그인으로 git 브랜치 이름 가져 오기

분류에서Dev

ImageField의 파일 이름으로 인스턴스 가져 오기

분류에서Dev

인스턴스 이름을 NSString으로 가져 오기

분류에서Dev

동일한 이름 행으로 여러 드롭 다운에서 값 가져 오기

분류에서Dev

동일한 이름 행으로 여러 드롭 다운에서 값 가져 오기

분류에서Dev

자바 스크립트 또는 jquery에서 이름으로 radiobox 확인 값 가져 오기

분류에서Dev

JXA에서 프로세스가 이미 이름으로 실행 중인지 확인하는 방법

분류에서Dev

창에서 실행중인 모든 프로세스의 메인 페이지의 썸네일 이미지 가져 오기

분류에서Dev

프로세스 실행 확인 및 Python에서 PID 가져 오기

분류에서Dev

UI가 아닌 스레드에서 이름으로 그리드를 가져 오는 방법-Windows Phone

분류에서Dev

Android 스튜디오 2.1.1 : 'USB 기기 또는 실행중인 에뮬레이터가 감지되지 않음'

분류에서Dev

MemoryCache에서 비동기 스레드 세이프 가져 오기

분류에서Dev

보기에서 클래스 이름으로 요소 가져 오기

분류에서Dev

보기에서 클래스 이름으로 요소 가져 오기

분류에서Dev

VBA에서 클래스 이름으로 이미지 소스 가져 오기

분류에서Dev

다른 페이지에서 클래스 이름으로 요소 가져 오기

분류에서Dev

실행중인 프로세스를 가져 오는 방법

Related 관련 기사

  1. 1

    클러스터에서 실행중인 컨테이너 목록 가져 오기

  2. 2

    프로세스가 실행중인 JobObject에 대한 핸들 가져 오기

  3. 3

    클라이언트에서 이름으로 World 인스턴스 가져 오기

  4. 4

    `setUp`에서 실행중인 테스트 가져 오기

  5. 5

    Swift에서 이름으로 인스턴스 변수 가져 오기

  6. 6

    스크립트가 현재 [Python]에서 실행중인 전체 경로 가져 오기

  7. 7

    경로에 공백이있는 경우 실행중인 프로세스의 경로 가져 오기

  8. 8

    워드 프레스에서 라벨 이름 가져 오기

  9. 9

    Solr : 서버가 실행중인 동안 Lucene 인덱스 가져 오기

  10. 10

    각도기-테스트가 실행중인 셀레늄 노드 가져 오기

  11. 11

    특정 검색으로 다중 테이블에서 레코드 가져 오기

  12. 12

    AVA에서 실행중인 동시 테스트 수 가져 오기

  13. 13

    Jenkins 슬레이브에서 gradle git 플러그인으로 git 브랜치 이름 가져 오기

  14. 14

    ImageField의 파일 이름으로 인스턴스 가져 오기

  15. 15

    인스턴스 이름을 NSString으로 가져 오기

  16. 16

    동일한 이름 행으로 여러 드롭 다운에서 값 가져 오기

  17. 17

    동일한 이름 행으로 여러 드롭 다운에서 값 가져 오기

  18. 18

    자바 스크립트 또는 jquery에서 이름으로 radiobox 확인 값 가져 오기

  19. 19

    JXA에서 프로세스가 이미 이름으로 실행 중인지 확인하는 방법

  20. 20

    창에서 실행중인 모든 프로세스의 메인 페이지의 썸네일 이미지 가져 오기

  21. 21

    프로세스 실행 확인 및 Python에서 PID 가져 오기

  22. 22

    UI가 아닌 스레드에서 이름으로 그리드를 가져 오는 방법-Windows Phone

  23. 23

    Android 스튜디오 2.1.1 : 'USB 기기 또는 실행중인 에뮬레이터가 감지되지 않음'

  24. 24

    MemoryCache에서 비동기 스레드 세이프 가져 오기

  25. 25

    보기에서 클래스 이름으로 요소 가져 오기

  26. 26

    보기에서 클래스 이름으로 요소 가져 오기

  27. 27

    VBA에서 클래스 이름으로 이미지 소스 가져 오기

  28. 28

    다른 페이지에서 클래스 이름으로 요소 가져 오기

  29. 29

    실행중인 프로세스를 가져 오는 방법

뜨겁다태그

보관