쓰레드 관련 재시작에 대해서 질문드립니다.
간단한 구조를 보여드리자면 ...
public class test
{
private Thread _지속적인호출 = null;
public test() --> 생성자
{
this._지속적인호출 = new Thread(new ThreadStart(지속적인호출담당클래스));
this._지속적인호출.IsBackground = true;
}
public void read() --> 리드시..
{
this._지속적인호출.Start();
}
private void 지속적인호출담당클래스()
{
while(true)
{
//주기적으로 정책 읽어옴
싱글톤.변수._지속적인호출 = 어떤 특정한 역할의 정책();
System.Threading.Thread.Sleep(60 * 1000);
}
}
이렇습니다.
윈도우 어플리케이션 실행시 지속적인호출담당클래스 특정한 역할을 지속적으로 생성을 해주는 역할이 있기에.. 백그라운드 쓰레드에서 돌고 있고..
윈도우 어플리케이션 환경 재설정을 할시에 지속적인호출의 쓰레드를 다시 중단하고 thread를 돌게 하고싶습니다..
재설정후 read를 타게 되서 다시 차트 같은걸 뿌려주는 역할을 합니다...
예외로 ... 스레드가 실행 중이거나 종료되었습니다. 다시 시작할 수 없습니다. 나와서 재설정시 어떤 특정한 역할의 정책을 실행 할 수 없는것으로 판단이 되고 있습니다..
그래서 ...
public test() --> 생성자
{
this._지속적인호출 = new Thread(new ThreadStart(지속적인호출담당클래스));
this._지속적인호출.IsBackground = true;
}
이부분에 인터럽트 처리와 resume 처리를 하고 싶은데..
System.Threading.Thread.Sleep(60 * 1000); 부분에서 인터럽트 익셉션 처리가 나는거 같습니다..
재설정시 재개 할수 있는 방법이 있다면.. 아이디어가 있다면 해결 방안을 제시 해주십쇼 ..
몇일째 보고 있습니다..
[최초 등록일: ]
[최종 수정일: 1/9/2019]