C#
private delegate void Delegatep(object sender, 여기1 e);
private void AAA(object sender, 여기1 e)
{
if (this.InvokeRequired)
{
Delegatep tmpDelegate;
tmpDelegate = new Delegatep(AAA); // AAA 에는 나 자신을 쓴다.
this.Invoke(tmpDelegate, sender, e); // 내 자신 쓰레드에서 가능하게 > 다시 나를 호출
}
else
//다시 나를 호출 이후 > 실제 로 실행 하려던 코드
}
VB.NET
Private Delegate Sub Delegatep(ByVal sender As Object, ByVal e As 여기1)
Private Sub AAA(ByVal sender As Object, ByVal e As 여기1)
If Me.InvokeRequired Then
Dim tmpDelegate As Delegatep
tmpDelegate = New Delegatep(AddressOf AAA) ' AAA 에는 나 자신을 쓴다.'
Me.Invoke(tmpDelegate, sender, e) '내 자신 쓰레드에서 가능하게 > 다시 나를 호출'
Else
'다시 나를 호출 이후 > 실제 로 실행 하려던 코드'
End If
End Sub
이렇게 간단히 해결 가능하다.
구글검색에서 설명이 부족하거나 없는경우가 많아서 글을쓴다..
...더보기
내가 수정할수 있는 스레드에 복사하여 만들고 그부분을 수정하는 방식으로 다중 스레드 작업을 실행한다.
코드를 보면 자신을 부르고 내가 부른경우 실제 실행 코드를 작성하여 다중스레드 작업을 처리한다.
'프로그래밍 > .Net' 카테고리의 다른 글
c#) args 처리하기 (0) | 2020.06.07 |
---|---|
C#) Console.WriteLine 와 Console.Write 차이 (1) | 2019.09.17 |
C#) 윈도우 정품인증 체크하기 (0) | 2019.07.05 |
.NET) formclosing vs closing 이 둘의 차이 (0) | 2019.06.20 |
저작권 보호안내
무단 전재, 재배포 행위는 금지됩니다. (글을 복사하여 게시금지)
본문의 일부(링크용 문장) 인용은 가능하지만, 출처와 링크(a 태그)를 남기셔야 됩니다.
(웹툴을 이용하고, 스크린샷/녹화하는것은 상관없습니다.)
예외적으로. 저에게 허락받은 경우에는 본문을 전재할 수 있습니다.
만약, 본문 공유를 원하신다면 링크 공유를 해주세요
저작권 정책 확인하기링크 공유하기