2017-12-28 6 views
0

하늘 구름에 내 웹 역할 응용 프로그램을 배포하고 있습니다. 별도의 스레드에서 실행해야하는 작은 코드 블록이 있습니다. 내 코드 블록은 다음과 같습니다 :하늘 구름 서비스 : System.Threading.Thread가 작동하지 않습니다.

private static bool Method1() 
{ 
    ... 
    ... 
    System.Threading.Thread thread = new System.Threading.Thread(() => Method2()); 
    thread.Start(); 
    ... 
    ... 
} 

private static void Method2() 
{ 
    .... 
    .... 
} 

로컬 시스템에서이 코드를 테스트했습니다. 잘 작동하고 있습니다. 정확히 무슨 일이 일어나는지 확인하기 위해 코드를 로그 파일에 기록했습니다. Azure 클라우드 서비스에서 Method1()이 오류없이 실행됩니다. 스레드를 정의하고 시작하기 전후에 코드 블록이 성공적으로 실행되었습니다. Method2()는 절대로 실행되지 않습니다.

푸른 구름 서비스에서 스레딩이 허용되지 않습니까? 또는 하늘색 구름 서비스에 대한 스레딩 구현이 다릅니 까?

고맙습니다 ...

+0

CS에서 스레딩이 허용됩니다. 참조 https://stackoverflow.com/questions/5041153/how-to-create-multiple-threads-in-windows-azure-worker-role – Ashok

답변

1

설명에서 매우 어렵습니다. 스레딩이 허용됩니다. 한 가지 고려해야 할 것은 타이밍은이 사용자 시스템과 Azure VM간에 다를 수 있다는 것입니다.

내가 생각할 수있는 가능한 원인 중 하나는 스레드가 실행을 예약 할 수있는 기회가 생기기 전에 프로세스 종료라고 생각할 수 있습니다. 응용 프로그램을 죽이거나 주 스레드가 종료되는 예외입니다.

관련 문제