내의 데이터 테이블과 변수에 액세스하려면 폼로드시 채워지는 Datatable을 사용합니다. 그리고 backgroundworker를 사용하여 네트워크 작업을 수행합니다. backgroundworker의 doWork() 내부 datata에서 데이터가 필요하고 또한 폼로드시 생성 한 클래스의 객체가 필요합니다. 데이터 테이블 및 클래스 개체의 데이터는 Dowork() 내에서 업데이트되며 datatable 및 클래스 개체의이 값은 Backgroundworker의 ProgressChanged에서 목록으로 업데이트됩니다. datatable 및 class 개체는 모두 Form1로 전역 선언됩니다. 하지만이 스레드 안전하지 않습니다 읽을 수 있습니다. 그래서 올바른 방법으로 스레드 안전 방식으로 사용하는 데 사용할?내 프로그램에서 Backgroundworker
0
A
답변
0
당신은 DoWork에 RunWorkerAsync에서 하나 개의 인자를 전달할 수 있으며,이 배열을 통해 모든 것을 얻을 수 있습니다 : 즉시 수정할 시작으로
Private Sub BGW_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs)
Dim dt as DataTable
dt = TryCast(e.Argument(0), DataTable)
' and so on
:
dim bgw as new BackgroundWorker
dim dt as DataTable
dim anything as ...
...
bgw.RunWorkerAsync(New Object() {dt, anything, ...})
...
doWork 내부 양식에 UI와 관련된 모든 것이 있으면 BeginInvoke 및 InvokeRequired에 대한 읽기를 시작할 수 있습니다. 아마도 거기에는 많은 것들이 있지만 아마도이 질문은 제가 좋은 샘플 일 수 있습니다. Multithreading for a progressbar and code locations (vb.net)?
관련 문제
- 1. BackgroundWorker ASP.Net 응용 프로그램에서
- 2. 은 내 코드에 적합한 "backgroundWorker"입니다 #
- 3. BackgroundWorker - C#
- 4. Backgroundworker 디버깅
- 5. BackgroundWorker In Form.Load 이벤트
- 6. Backgroundworker abort
- 7. BackgroundWorker 및 CollectionViewSource
- 8. backgroundworker vs 이벤트
- 9. VC++ 2010에서 backgroundworker 사용
- 10. BackgroundWorker 이벤트 처리기
- 11. Silverlight의 BackgroundWorker ViewModel
- 12. Siverlight에서 BackgroundWorker 문제가 발생했습니다.
- 13. VB.net의 BackgroundWorker 로깅 옵션
- 14. BackgroundWorker ReportProgress 이벤트 큐
- 15. WPF BackgroundWorker 예외 메시지 표시
- 16. BackgroundWorker 및 foreach 루프
- 17. Compact Framework에서 BackgroundWorker 구현
- 18. 모범 사례 BackgroundWorker
- 19. Backgroundworker ReportProgress 이벤트가 실행되지 않습니다.
- 20. BackgroundWorker 여전히 블록 IHttpHandler
- 21. UI의 경우 BackgroundWorker 스레드
- 22. 가장 및 BackgroundWorker
- 23. IIS7에서 BackgroundWorker 스레드 - 실패합니다!
- 24. 이름 지정 BackgroundWorker
- 25. Thread.Start() vs BackgroundWorker
- 26. Backgroundworker - 데이터 바인딩 - 업데이트보기
- 27. Process.Start in BackgroundWorker
- 28. BackgroundWorker VSTO에서 작동하지 않습니다.
- 29. BackgroundWorker 도움이 필요합니다.
- 30. BackgroundWorker 스레드의 숫자가 맞습니까?
잠김 및/또는 매개 변수가있는 ThreadStart를 살펴보십시오. – Tim