void Foo(Action<object> Callback)
{
thread th = new Thread(delegate()
{
//...
Callback(result);
}
th.Start();
}
이런 식으로 하면 할 수는 있는데 스레드 안에서 콜백이 호출된단 말임.
나는 메인 스레드에서 콜백 호출하고 싶은데
그렇다고 콜백을 delegate 바깥으로 빼면 실행이 안되고
내가 할라는 작업은 시간이 많이 들어서 join이나 async도 못쓰고
그러니까 이걸 어떻게 해야 메인스레드에서 콜백 호출이 됨?
콘솔임 Forms나 WPF임 실버라이트임 웹임?
왜 메인스레드에서 호출해야하는데?
메인에서 메시지 큐 같은거 보고 별도로 해야겄구만