안녕하세요 모두
콘솔 응용 프로그램에서 .Net 2와 함께 작업하고 있습니다.
나는 오랜 시간 일하는 방법이 있습니다. 그 이름은 : public void DO(){....}
내가 작업을 중지하려면 키를 누릅니다.
나는 그것을 어떻게 우아하게합니까? 이벤트가 포함 된
? 당신의 도움이 단순히 다른 스레드에서 DO(..)
을 실행하고 메인 쓰레드 Console.ReadLine()
또는 기타 과부하의 키를 눌러 수신 할 수있는 솔루션의콘솔 응용 프로그램에서 백그라운드에서 듣고있는 # keypress
답변
하나에 대한
감사합니다. 열쇠를 얻는 순간, DO(...)
메소드의 스레드로 신호를 보내 중지하십시오.
편집
간단하고 아주 기본적인 예를 여기에서 찾을 수 있습니다 volatile bool
변수를 사용하여 (난 당신에 대한 C# 2.0을 얘기 참조) 만 사용
답변 해 주셔서 감사합니다. 제대로 작동해야한다고 생각하지만 간단한 해결책을 찾고 싶습니다. 나는 대의원과 이벤트로 쉽게 그 일을 할 수 있다고 생각합니다. – Tal
장기간 실행되는 프로세스를 실행하고 사용자가 필요로하는 순간에 취소 할 수 있도록하려면 멀티 스레딩이 아닌 다른 옵션이 필요하지 않습니다. 이벤트가 있으면 많은 도움이되지 않을 것입니다. 응용 프로그램의 주 스레드가 무거운 계산에서는별로 없습니다. – Tigran
타이머 이벤트와 함께 사용합니다. 그것은 잘 작동합니다. 하지만 설명해 주셔서 감사합니다. – Tal
처럼 티그 말했다 실. 이벤트를 사용하면 다음 이벤트가 수신 될 때까지 응용 프로그램이 정지됩니다.
private static bool abortthread = false;
public static void main()
{
new Thread(new ThreadStart(DO)).Start();
Console.ReadLine();
abortthread = true;
}
private static DO()
{
while(true)
{
if(abortthread)
return;
}
}
- 1. 콘솔 응용 프로그램에서 web.config를여시겠습니까?
- 2. Flash 응용 프로그램에서 Python 시뮬레이션 Keypress
- 3. 콘솔 응용 프로그램에서 타이머를 사용하려면 어떻게해야합니까?
- 4. 콘솔 응용 프로그램에서 런타임 키 누르기 감지
- 5. 콘솔 응용 프로그램에서 메시지 표시
- 6. Mac OpenGL 응용 프로그램에서 콘솔
- 7. 콘솔 응용 프로그램에서 ocx 사용
- 8. 콘솔 응용 프로그램에서 타이머 작동
- 9. 콘솔 응용 프로그램에서 그림 인쇄
- 10. 콘솔 응용 프로그램에서 WinForm 인스턴스화
- 11. 콘솔 응용 프로그램에서 WebBrowser 사용
- 12. Delphi 7 Console 응용 프로그램에서 Keypress 유효성 검사 수행 방법
- 13. 다른 콘솔 응용 프로그램에서 콘솔 응용 프로그램을 실행하십시오.
- 14. 실시간 응용 프로그램에서 백그라운드에서 반복 작업 실행
- 15. 콘솔 응용 프로그램을 백그라운드에서 실행하는 가장 좋은 방법은 무엇입니까?
- 16. 콘솔 응용 프로그램에서 IP 주소 얻기
- 17. 은 .net 콘솔 응용 프로그램에서 백분율을 표시합니다.
- 18. 콘솔 응용 프로그램에서 MVP를 구현하는 방법?
- 19. 콘솔 응용 프로그램에서 창 메시지를 수신하도록하려면 어떻게합니까?
- 20. 다른 응용 프로그램에서 MacOSX의 콘솔 로그를 얻으십시오
- 21. Objective-C 콘솔 응용 프로그램에서 문자열을 읽으십니까?
- 22. Win32 콘솔 응용 프로그램에서 커서 위치 설정
- 23. 콘솔 응용 프로그램에서 연결 문자열 가져 오기
- 24. 콘솔 응용 프로그램에서 동기 키 스트로크 읽기
- 25. SPSecurity.RunWithElevatedPrivileges는 콘솔 응용 프로그램에서 어떤 작업을 수행합니까?
- 26. MSVC++ 콘솔 응용 프로그램에서 어떻게 잠자기합니까?
- 27. 현재 실행중인 콘솔 응용 프로그램에서 메소드를 호출하십시오.
- 28. VS2010 콘솔 응용 프로그램에서 참조 문제 추가
- 29. 콘솔 응용 프로그램에서 FileVersionInfo.GetVersionInfo()가 올바르지 않습니다.
- 30. C++ 콘솔 응용 프로그램에서 SQL 익스프레스 시작하기
DO()는 무엇을합니까? 데이터베이스와 트랜잭션을 수행하고 있습니까? 내부에'while' 루프가 있습니까? –