«multithreading» 태그된 질문

멀티 스레딩은 여러 동시 실행 스트림 (일반적으로 스레드라고 함)을 활용하여 컴퓨터 또는 프로그램이 동시에 또는 비동기 적으로 작업을 수행 할 수있는 기능입니다.


10
Invoke 또는 BeginInvoke는 창 핸들이 만들어 질 때까지 컨트롤에서 호출 할 수 없습니다.
Greg D가 여기 에서 설명 하는 것과 유사한 SafeInvoke Control 확장 메서드가 있습니다 (IsHandleCreated 검사 제외). 나는 그것을 System.Windows.Forms.Form다음과 같이 부르고있다 . public void Show(string text) { label.SafeInvoke(()=>label.Text = text); this.Show(); this.Refresh(); } 때때로 (이 호출은 다양한 스레드에서 올 수 있음) 다음 오류가 발생합니다. System.InvalidOperationException 발생 Message= "창 핸들이 생성 …

3
여러 프로세스에서 단일 파일 처리
각 줄을 처리하고 (일부 작업 수행) 데이터베이스에 저장하려는 하나의 큰 텍스트 파일이 있습니다. 하나의 간단한 프로그램이 너무 오래 걸리기 때문에 여러 프로세스 또는 스레드를 통해 수행되기를 바랍니다. 각 스레드 / 프로세스는 해당 단일 파일에서 다른 데이터 (다른 줄)를 읽고 데이터 조각 (줄)에 대해 몇 가지 작업을 수행하고 데이터베이스에 넣어 결국 …



15
'사용'문 대 '마지막으로 시도'
읽기 / 쓰기 잠금을 사용할 속성이 많이 있습니다. try finally또는 using절을 사용하여 구현할 수 있습니다 . 에서 try finally나는 이전에 잠금을 획득 try하고 finally. 에서 using절, 나는 그것의 폐기 방법에 생성자에서 잠금을 획득 클래스 및 자료를 만들 것입니다. 많은 곳에서 읽기 / 쓰기 잠금을 사용하고 있으므로 .NET보다 간결한 방법을 찾고 …

4
Dispatcher.Invoke를 사용하여 주 스레드가 아닌 스레드에서 WPF 컨트롤 변경
나는 최근에 WPF에서 프로그래밍을 시작했고 다음과 같은 문제에 부딪 혔습니다. 방법을 사용하는 Dispatcher.Invoke()방법 을 이해하지 못합니다 . 스레딩 경험이 있으며 방금 사용한 몇 가지 간단한 Windows Forms 프로그램을 만들었습니다. Control.CheckForIllegalCrossThreadCalls = false; 예, 그것은 꽤 절름발이는 것을 알고 있지만 이것은 단순한 모니터링 응용 프로그램이었습니다. 사실은 이제 백그라운드에서 데이터를 검색하는 WPF …

6
NSOperation 및 NSOperationQueue 작업 스레드 대 기본 스레드
내 앱에서 일련의 다운로드 및 데이터베이스 쓰기 작업을 수행해야합니다. 내가 사용하고 NSOperation와 NSOperationQueue동일합니다. 이것은 애플리케이션 시나리오입니다. 장소에서 모든 우편 번호를 가져옵니다. 각 우편 번호에 대해 모든 집을 가져옵니다. 각 집에 대해 주민 정보를 가져옵니다. 말했듯 NSOperation이 각 작업에 대해 정의했습니다 . 첫 번째 경우 (Task1)에서는 모든 우편 번호를 가져 오기 …

15
C ++ 읽기 및 쓰기는 int 원자입니까?
나는 두 개의 스레드, 하나는 int를 업데이트하고 다른 하나는 그것을 읽는다. 읽기 및 쓰기 순서가 관련이없는 통계 값입니다. 내 질문은 어쨌든이 멀티 바이트 값에 대한 액세스를 동기화해야합니까? 또는 다른 말로하면 쓰기의 일부가 완료되고 중단 된 다음 읽기가 발생할 수 있습니다. 예를 들어 0x00010000의 증가 된 값을 가져 오는 값 = …

2
ArrayBlockingQueue에서 최종 멤버 필드를 로컬 최종 변수에 복사하는 이유는 무엇입니까?
에서 ArrayBlockingQueue, 잠금을 필요로하는 모든 방법은 로컬에 복사 final호출하기 전에 변수 lock(). public boolean offer(E e) { if (e == null) throw new NullPointerException(); final ReentrantLock lock = this.lock; lock.lock(); try { if (count == items.length) return false; else { insert(e); return true; } } finally { lock.unlock(); } } …




8
ContextSwitchDeadlock이 C #에서 오류를 감지했습니다.
C # 응용 프로그램을 실행 중이며 런타임 중에 다음 오류가 발생합니다. CLR이 60 초 동안 COM 컨텍스트 0x20e480에서 COM 컨텍스트 0x20e5f0으로 전환 할 수 없습니다. 대상 컨텍스트 / 아파트를 소유하는 스레드는 비 펌핑 대기를 수행하거나 Windows 메시지를 펌핑하지 않고 매우 오래 실행되는 작업을 처리 할 가능성이 높습니다. 이 상황은 일반적으로 …

4
다중 처리를 사용하는 셀러리 병렬 분산 작업
CPU 집약적 인 셀러리 작업이 있습니다. 이 작업을 더 빠르게 수행하기 위해 많은 EC2 인스턴스에서 모든 처리 능력 (코어)을 사용하고 싶습니다 (다중 처리가 포함 된 셀러리 병렬 분산 작업- 제 생각에는 ) . 용어, 스레딩 , 멀티 프로세싱 , 분산 컴퓨팅 , 분산 병렬 처리는 내가 더 잘 이해하기 위해 …

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.