Creative Commons License

Community

공지/뉴스
지식공유
질문/답변
자료실
자유로운 글
방명록

공유를 넘어 교류로... 제가 알리는 말씀 및 사이트 이용자들이 함게 참여하는 커뮤니케이션 공간입니다.

.

질문/답변

개발 중 막히셨나요?? 여기 먼저 경험한 개발자들의 답변을 부탁드려보세요~ 단, 질문의 내용은 되도록이면 아주(?) 상세히 해 주셔야 합니다

쓰레드 생성에 관해서~~

작성자 연습생
작성일 2008-07-15 오후 2:15:48,    조회수 : 2382

 구찮게 해서... ㅈㅅㅇ ㅠㅜ

프로그램을 코딩하다 보니... 개념적인 것도 문제지만... 코딩을 할수록 개념이 어지러워서;;;

간단하게.... 소스에... 의문점을 적었습니다....

좋은 하루 되시구요~~

∵Commented by 박종명 at 2008-07-15 오후 4:07:58  
일단 ipdaemon1_OnDataIn 이벤트가 호출될 때 매번 쓰레드를 new 로 생성하기 때문에
매번 새로운 쓰레드가 생성되는 것이 맞습니다.
물론 이전 쓰레드는 자신의 작업이 완료되면 중지될 테구요...
그리고 이렇게 생성된 다수의 쓰레드가 공유 자원에 엑세스 해야 한다면 동기화 처리를 해줘야 하구요.. lock(this) 보다는 lock(DataGrid 객체)라고 하시는 것이 더 좋지 않을까요?
아니면 Moniter 클래스를 통한 동기화도 가능하구요..
http://mkexdev.net/Article/Content.aspx?parentCategoryID=1&categoryID=21&ID=209
∵Commented by 연습생 at 2008-07-15 오후 4:49:12  
앗.. 감사합니다^^* 저 근데요... 쓰레드가 불러오는 메소드(그리드작업을 하는)테스트상에서는 카운트로 하고 있는데요.. 그것은 델리게이트를 통해서 독립적인 메소드로 쓰겠다는거 같은데.. 다른 쓰레드가 이 메소드를 또 호출해도.. 이전에 쓰레드가 사용하는 메소드와는 별도로 움직이는 것이 맞죠... 아니면 같은 메소드를 호출하기 때문에 데이터가 불확실 할 수 있어..동기화를 해주는 건가요.... 에궁.. 자꾸 ㅈㅅ합니다.. ㅠㅜ
∵Commented by 박종명 at 2008-07-15 오후 5:04:51  
멀티쓰레드에 공유 자원은 메서드가 아니라 데이터입니다.
이와 관련해서는 다음의 글을 참고해 주시기 바랍니다.
http://mkexdev.net/Article/Content.aspx?parentCategoryID=1&categoryID=21&ID=210

참고로 응용프로그램의 메서드 정보 역시 메로리상에 올라가 있어야 하는 것은 맞습니다.
그러나 현재 여기서 말하는 멀티쓰레드에서의 공유자원과는 좀 다른 문제네요..
윤성우님의 다음 책을 읽어 보시길 권장합니다.
http://kangcom.com/common/bookinfo/bookinfo.asp?sku=200703220002
∵Commented by 연습생 at 2008-07-15 오후 5:36:53  
ㅇ ㅏ.... 이런 실수를 ㅎㅎㅎ
좋은 정보 감사합니다~~^^*
얼렁 책을 사서 봐야 겠네용 ㅎㅎㅎ
이름
비밀번호
홈페이지
TB <- 왼쪽의 문자를 오른쪽 박스에 똑같이 입력해 주세요