안녕하세요^^
이미 보셨을수도 있겠지만,
스레드와 async await를 사용한 비동기 프로그래밍 관련해서는 다음 강좌들을 참고해 보세요.
비동기 프로그래밍에 대한 더 많은 정보를 얻으시려면,
제 책인 "C# 교과서"를 본 다음에 볼 수 있도록 구성된
길벗의 "C#을 다루는 기술" 책의 비동기 프로그래밍 편을 참고해보세요.
또한,
Invoke와 BeginInvoke 등의 차이점은 구글 검색 해보시면 스택오버플로에 잘 설명이 되어 있으니 이 부분도 참고해보시면 좋을 것 같습니다.
그리고,
결론적으로 말씀드려,
비동기 프로그래밍을 편리하게 사용하도록 나온 async await가 이미 닷넷 5.0 버전인가부터 제공하고 있는데,
굳이 Invoke, BeginInvoke 및 직접 스레드 프로그래밍 작성 등의 작업이 필요할까? 잠시 고민도 해봅니다.
제가 강의할 때 많이 하는 말 중에,
"저는 C#을 사용하는 개발자이지 C#을 만드는 개발자가 아닙니다."가 있습니다.
Windows Forms, WPF에서 async, await를 사용하여 프로그래밍하면, 내부적으로는 어떻게 돌아가는지는 잘 모르겠지만,
스레드 차단되지 않고 잘 실행되는 프로그램을 만들 수 있게됩니다.
아무튼, async await 키워드가 처음 생겨난 계기가 C#이기에 이 가장 큰 장점이기에,
이전 버전을 사용할게 아니면 비동기 프로그래밍은 이 두가지 키워드에 맡기는게 좋아 보입니다.
감사합니다.
On 2022-03-21 오전 11:09:00, '김상태' wrote:
안녕하세요 ~ 또 놀러오게됐습니다. ~ ^^
Winform에서 동시에 처리하는 부분을 고려하다 보니.. 동기, 비동기로는 한계가 있어
Thread를 사용해야 할것 같아 자료를 찾아 공부 중에 Invoke, Begininvoke, Thread로 사용사례들이 나와서 모두 쓰레드 제어에 대한 내용인데... 각 클래스에따라 사용법이 차이가 생기고 사용법도 조금 틀려 돌아가는 루틴이 약간 틀린것 같고 ....
쓰레드 관련해서 선생님 유튜브 강좌를 찾아봤는데... 찾지를 못 했네요.. github소스에서는 40.40_Delegate에서 invoke가 나오긴 하는데.. 멀티쓰레드 개념으로 예제가 된거 같진 않고 MS Doc에서는 설명이 장황?해서..;;;;
그리고 일반적인 메소드 실행 했을때와 invoke로 실행했을때와 어떤 차이가 있는건가요?
강의 하신 유튜브나 공개하신 github에서 어디 소스를 참고하면 이해하는데 도움을 받을 수 있을까요?
오늘도 건강 하시고, 수고 하세요 ~ ^^