스레드가 인스턴스화되면 다른 방법으로 스레드를 재 할당 할 수 있습니까? 그렇지 않다면 대안이 있습니까?스레드를 다른 방법으로 재 할당 vb.net
2
A
답변
2
스레드가 시작되지 않는 한 리플렉션을 사용할 수 있지만 그런 유용성은 매우 의심 스럽습니다. 왜 대신 다른 스레드 인스턴스를 만들 수 없습니다 :
당신은 디버깅 API와 이상한 일을하거나 CLR 호스팅 및 내부 함께 연주하지 않는var thread = new Thread(Method1);
thread
.GetType()
.GetMethod("SetStartHelper", BindingFlags.Instance | BindingFlags.NonPublic)
.Invoke(thread, new object[] { new ThreadStart(Method2), 0 });
thread.Start();
1
는 스레드가 새로 '재 할당'할 수있는 방법은 없습니다 메서드는 스레드 스택을 조작하는 것과 관련이 있습니다. 당신이 할 수있는 일
이 시간에서 변경 될 수 있습니다 '페이로드'일을 보낼 스레드에서 명령 패턴을 사용하는 것입니다 :이 호출하면 스레드가 시작된 후 것을
Action worker=null;
bool running = true;
var t = new Thread(() =>
{
while(running)
{
Action theWorker = worker;
if(theWorker!=null)
{
theWorker();
}
Thread.Sleep(10);
}
});
worker = new Action(() => Console.WriteLine("hi mum"));
t.Start();
Thread.Sleep(100);
worker=new Action(()=>Console.WriteLine("I can see my house from here"));
Thread.Sleep(100);
running = false;
관련 문제
- 1. boost :: shared_array를 재 할당
- 2. 배열 재 할당 (C99)
- 3. 재 할당 textbox.text
- 4. 파이썬에서 목록 재 할당
- 5. 배열 재 할당 C++
- 6. 메모리 재 할당
- 7. 여러 스레드를 실행하기위한 VB.NET 코드
- 8. VB.NET 1.1의 할당 = "연산자
- 9. iPhone : 인스턴스 변수 재 할당 = 할당 취소?
- 10. VB.NET 응용 프로그램 재 컴파일
- 11. 인접한 2D 배열의 재 할당
- 12. VB.NET 1.1 안전하게 스레드를 중단합니다.
- 13. 특정 CPU 코어에 스레드를 할당
- 14. std :: vector insert() 재 할당
- 15. PHP 클래스 변수 재 할당
- 16. TFS 버그 재 할당 동작
- 17. 2D 동적 배열 재 할당
- 18. C++에서 Char * 재 할당
- 19. realloc을 사용한 동적 메모리 재 할당
- 20. VB.NET 함수 - 반환 대 할당
- 21. NTFS 용 파일 재 할당 도구
- 22. 는 클러킹을위한 스레드를 생성하고 다시 다른 스레드를
- 23. 구조체 맵 싱글 톤 객체 재 할당
- 24. 목표 C 재 할당/메모리 관리 충돌
- 25. C++ 할당 자의 재 할당 기능이없는 이유는 무엇입니까?
- 26. ThreadPool이 Backgroundworker 인스턴스에 스레드를 할당 할 때?
- 27. 다른 방법으로 변수에 액세스하기
- 28. 다른 스레드를 먹이는 스레드
- 29. 프로세스가 다른 스레드를 사용합니까?
- 30. 파일 복사시 명령 단추에 매크로 재 할당
참고,이하지 않습니다 어떤 효과가 있습니다. –
예, 그렇기 때문에 '스레드가 시작되지 않은 한 ...'으로 대답을 시작했습니다. –