C#.NET Q&A

backgroundWorker 에 대해 궁굼합니다.. 김군 평점: 없음 조회: 99
backgroundWorker 사용하여 비동기 작업을 해보고있는데,

진행율이나 완료 등의 UI 접근은 하겟는데.

DoWork 단계에서 UI에 있는 텍스트를 접근해서 받아오려고하니 쓰레드 오류가 발생하네요..

검색을 해봐도 델리게이트를 이용해 UI 수정 밖에 없던데. 이런경우에는 어떤식으로 받아와햐나요?
태그 : 델리게이트 쓰레드 BackgroundWorker
작성자 정보
김군
Level 7
 [EXP.12/14]

메일:  비공개
글등록 +12 60 덧글등록 +3 6
자기소개
안녕하세요~
글 공유하기 |
  tweet facebook
2018-01-09 오후 1:37:02
나도한마디
사용자
아이프리드            [2018-01-09]
Level 44
 [EXP.77/100]
DoWork 단계에서 UI에 직접 접근하는건 방법이 있는지는 모르겠습니다만 애초에 목적상 DoWork 내에서는 UI 접근 하는건 좋은 방법이 아닌거 같습니다.

정 필요하시면 DoWork 시작할때 인자로 전달하시거나 UI의 텍스트 값을 담은 별도의 변수를 만들어두시고 관리하시는게 좋을거 같습니다.
사용자
김군            [2018-01-09]
Level 7
 [EXP.12/14]
그런식으로 해놓긴했는데 그방법 밖에 없군요 ㅠㅠ

DoWork에서 데이터 그리드뷰는 접근이 가능하던데

이건 무슨이유에서 그런건지 알고계신가요?
사용자
롬메달            [2018-01-10]
Level 47
 [EXP.52/100]
쓰레드 설계상의 이유입니다.
UI쓰레드에서 동작중인 컨트롤을 잡 스레드에서도 접근 가능하게 해서 조작을 하게한다면 쓰레드 충돌이 일어나겠죠. 그걸 막기위해서 lock을 걸어야 하는데 그럼 컨트롤을 사용할때마다 lock 확인을 하게 되면 UI 컨트롤의 성능이 확 떨어집니다.
UI가 가장 윗단에서 유연하게 동작되어야 하는 부분이고 사실상 제일 느린 부분인데 거기에 또 느리게 만들면 문제가 되죠. 그래서 하나의 쓰레드(UI쓰레드)에서만 접근하게 한겁니다.

백그라운드 쓰레드에서 데이터 처리 다 하고 끝나면 이벤트 받아서 UI에 반영하라는게 멀티 쓰레드의 기본 동작 설계방식입니다
태그로 엮인글
[C#.NET Q&A] 델리게이트 질문[3]  멘탈붕괴
[C#.NET Q&A] 큐를 사용하여 파일 읽고 새로 쓰기 중 파일 0바이트에서 프로그램 다운되는 현상[1]+1 파일첨부 장민우
[C#.NET Q&A] C# 키보드 매크로와 쓰레드에 관해 질문드립니다[2]+3  박민첩
[C#.NET Q&A] HOONS 팁에 있는 글인데 이해가 잘 안되서 질문합니다.[1]+2  필승불패
[C#.NET Q&A] 쓰레드 질문좀 드리겠습니다.[1]+5  skyblue
[C#.NET Q&A] 델리게이트 배열 문제[1]+3  mmemmemme
[C#.NET Q&A] BackgroundWorker 2개 사용시 1개의 Datatable Update 질문[1]+1  고래공
[C#.NET Q&A] 델리게이트와 이벤트에 관해서 질문이요[1]  DevHong
[C#.NET Q&A] delegate... 제네릭메서드 도와주세요.  vector_xy
[C#.NET Q&A] Delegate가 뭔지 감이 안잡히네요...;;[1]+1  찾아라야근의열쇠
글리스트
프로젝트 속성 질문[1]+1  llje85
웹서버의 응답내용을 헤드포함해서 받아오는방법 없을까요?  엿장수
C# 중복DB UltraTree에 불러 오기[1]+1  saki
윈폼에서 Panel 위에 레이블을 올릴때[1]  Tube
C# WinForm listView 속성 관련 질문이 있습니다  박민첩
DataRow BeginEdit() & EndEdit() 어떨때 사용하는건가요??  빠라밤바
c# 윈폼 엑셀파일 관련 질문 있습니다..  jmpark
윈폼 파일사용유무 체크  비베씨샾
C# 디자인 타임  부자파파
Infragistics WPF 버튼[1]+1  saki
 ★현재글->   backgroundWorker 에 대해 궁굼합니다..[1]+2  김군
그래프 타임라인 커브 컴포넌트를 찾고 있습니다  꿀시럽
우수한? 좋은? C# 소스를 보며 공부할려고 합니다. 조언부탁드립니다.  빠라밤바
c# 최신 이미지 파일 불러오기 질문 드립니다.[1]  삼진연립
C# Master / Detail 관계 Excel 다운로드 관련 질문[1] 파일첨부 InsideMan
c# 다른폼에서 이미 생성한 폼에 접근하려면 [1]+1  SOS1324
프린트 드라이버를 사용할 수 있나요?  hhgya
엑셀처럼 칸을 구분하고 원하는 배열에 저장된 값들을 칸에 집어 넣을 수 있을까요?[1]  야야얍
가비지콜렉터를 사용해서 강제적으로 힙을 정리하게하는방법 알고싶습니다[5]  엿장수
vb에서 스프레쉬트를 사용하다가 c#에서 DevExpress을 사용중인데요[1]  민성
Mysql 에서 LOAD 만 되고, UPDATE 는 안됩니다.  insurang