2013-07-30 3 views
2

내 프로그램에 backgroundworker가 구현되어 있고 스레드 외부에서 데칼로 표시된 전역 변수에 액세스하고 있습니다. IT는 오류를 발생시키지 않고 checkillegalstring 속성을 설정하며 모든 곳에서 크로스 스레드 예외가 발생합니다. 이전에 선언 한 전역 변수를 사용하고 있기 때문입니다.backgroundworker 스레드에서 전역 변수에 안전하게 액세스하는 방법 vb.net

배경 작업자 스레드 내에서 전역 변수를 사용할 수있는 곳을 찾을 수없는 것 같습니다. 이렇게 할 수 있습니까? SyncLock

Sub firstNewThread() 
    SyncLock objLock 
     'Access global object 
    End SyncLock 
End Sub 
Sub secondNewThread() 
    SyncLock objLock 
     'Guaranteed to not be executing while block in first thread is running 
    End SyncLock 
End Sub 

그냥이에서 발생할 수있는 교착 상태와 같은 다른 함정의 인식과

+1

가장 좋은 방법은 당신이 변수 것을 사용하는 방법에 따라 달라집니다

이 답변을 참조하십시오. 일부 코드를 게시 할 수 있습니까? –

+0

관련 코드를 게시하십시오. –

답변

3

가장 간단한 방법입니다.

+0

감사합니다! 난 단지 데이터를 읽으려고하고, 어떤 업데이트도 폼에서 발생하지 않을 것이다. – Criel

+0

그게 효과가 !!!!!!! 감사합니다! – Criel

관련 문제