하는 방법을 실행 개체를 파괴하지 않고. 이 작업을 수행하는 가장 좋은 방법은 무엇입니까? (즉, 가장 안전하고 모범 사례)정기적으로 객체 인스턴스
0
A
답변
2
확실히 Timer을 사용할 수 있습니다. 타이머의 콜백은 DoWork를 호출 할 수 있습니다.
타이머를 개체의 비공개 필드로 사용하십시오. 오브젝트가 인스턴스화 될 때이를 인스턴스화하고 시작하십시오.
개체에 IDisposable을 구현하고 개체를 처분 할 때 반드시 타이머를 처리해야합니다.
1
응용 프로그램에서 MyTask 및 타이머의 클래스 수준 인스턴스를 만듭니다. 타이머의 경과 이벤트에서 원하는 메서드를 호출하십시오. 나는 이것과 비슷한 것을 할 것이다 :
using System.Timers;
using System.Threading;
class Program
{
static MyTask taskInstance = new MyTask();
static ManualResetEventSlim cancelEvent = new ManualResetEventSlim(false);
static void Main()
{
var timer = new Timer
{
AutoReset = true,
Interval = 1000
};
timer.Elapsed += (x, y) => taskInstance.DoWork();
cancelEvent.Wait();
}
}
이것은 완전하지 않거나 테스트되지 않았 음을 명심해라. 그러나 그것은 내가 간다고 생각한다. 응용 프로그램을 중지해야 할 때마다 (사용자 입력 등으로 인해) cancelEvent.Set();을 호출하십시오.
관련 문제
- 1. 객체 인스턴스
- 2. String 객체 인스턴스
- 3. 플렉스 객체 생성 인스턴스
- 4. MongoDB 객체 인스턴스
- 5. App Engine의 객체 인스턴스
- 6. 객체 참조가 ... 인스턴스
- 7. 정적 클래스의 객체 인스턴스
- 8. 인스턴스 객체 이름에 문자열 사용
- 9. log4net 인스턴스/객체 생성이 필요합니까?
- 10. 문자열로 인스턴스 객체 가져 오기
- 11. HtmlHelper에서 객체 인스턴스 가져 오기
- 12. 파이썬 액세스 부모 객체 인스턴스
- 13. 위젯 인스턴스에 객체 인스턴스 바인딩
- 14. 동일한 객체 인스턴스 사용 방법
- 15. JNI 대 C++ 객체 인스턴스
- 16. 프로토콜을 준수하는 객체 인스턴스 만들기
- 17. 객체 인스턴스 데이터를 속성으로 전달하기
- 18. 자바 스크립트, 참조없는 객체 인스턴스
- 19. 정기적으로 실행중인 MySQL 데이터베이스를 교체하십시오.
- 20. 객체 (일부 클래스의 인스턴스) 메소드는 Ruby에서 클래스의 인스턴스 메소드와 동일합니까?
- 21. 안드로이드 : 객체/인스턴스 이름 대신에 문자열 사용
- 22. 관리자를 사용하여 파이썬에서 객체 (클래스 인스턴스) 공유하기
- 23. Ruby : 클래스 메서드에서 인스턴스 객체 생성
- 24. 복잡한 데이터 구조에서 모든 객체 인스턴스 제거
- 25. 플래시에서 특정 JavaScript 객체 인스턴스 지정
- 26. 정적 멤버 변수를 포함하는 객체 인스턴스
- 27. 웹 서비스 호출간에 객체 인스턴스 공유
- 28. conf 파일의 JSON에서 객체 인스턴스 구성
- 29. ArrayList에 고유 한 객체 인스턴스 추가
- 30. Java 원시 객체 인스턴스 : 힙 또는하지 않습니까?
좋아, 나는 이것을보고 있었지만 그것이 일반적인 방법이라고 확신하지 못했습니다. –