모든 스레드 프로세스가 완료 될 때까지 기다리는 방법은 무엇입니까? 예를 들어 다음과 같이 가정 해 보겠습니다. public class DoSomethingInAThread implements Runnable{ public static void main(String[] args) { for (int n=0; n<1000; n++) { Thread t = new Thread(new DoSomethingInAThread()); t.start(); } // wait for all threads' run() methods to complete …
그들의 공용 인터페이스는 비슷하게 보입니다. 문서 SemaphoreSlim 경량 대안 및 Windows 커널 세마포어를 사용하지 않는 상태. 이 리소스 는 SemaphoreSlim이 훨씬 빠르다는 것을 나타냅니다. 어떤 상황에서 SemaphoreSlim이 Semaphore보다 더 합리적이고 그 반대의 경우도 마찬가지입니까?
내 다중 스레드 asmx 웹 서비스에는 몇 개로 구성 List<T>되고으로 Dictionary<T>표시된 SystemData 유형의 클래스 필드 _allData가 volatile있습니다. 시스템 데이터 ( _allData)는 가끔 새로 고침되며라는 다른 객체를 만들고 newData새 데이터로 데이터 구조를 채 웁니다. 완료되면 할당합니다. private static volatile SystemData _allData public static bool LoadAllSystemData() { SystemData newData = new SystemData(); …
DispatchQueue.main.asyncUI 관련 작업을 수행하기 위해 오랫동안 사용 하고 있습니다. 스위프트 모두를 제공 DispatchQueue.main.async하고 DispatchQueue.main.sync, 두 메인 큐에 수행된다. 누구든지 그들 사이의 차이점을 말할 수 있습니까? 언제 각각을 사용해야합니까? DispatchQueue.main.async { self.imageView.image = imageView self.lbltitle.text = "" } DispatchQueue.main.sync { self.imageView.image = imageView self.lbltitle.text = "" }
Java에서 여러 스레드로 수학적 문제를 해결하고 싶습니다. 내 수학 문제는 여러 스레드에서 풀고 싶은 작업 단위로 나눌 수 있습니다. 고정 된 양의 스레드가 작업하는 대신 CPU 코어의 양과 일치하는 양의 스레드를 원합니다. 내 문제는 인터넷에서 이것에 대한 쉬운 튜토리얼을 찾을 수 없다는 것입니다. 내가 찾은 모든 것은 고정 스레드가있는 예제입니다. …
Python 3.4에는 다중 처리 / 스레딩을위한 몇 가지 다른 라이브러리가 있음을 발견했습니다. 다중 처리 대 스레드 대 asyncio . 하지만 어떤 것을 사용해야하는지 또는 "권장"인지 모르겠습니다. 같은 일을합니까, 아니면 다른가요? 그렇다면 어떤 용도로 사용됩니까? 내 컴퓨터에서 멀티 코어를 사용하는 프로그램을 작성하고 싶습니다. 하지만 어떤 라이브러리를 배워야할지 모르겠습니다.
yield()특히 아래 예제 코드에서 Java 의 메서드 사용에 대해 약간 혼란스러워 합니다. 또한 yield ()는 '스레드 실행을 방지하는 데 사용됨'을 읽었습니다. 내 질문은 다음과 같습니다. 아래 코드는 사용할 때 yield()와 사용하지 않을 때 모두 동일한 결과를 산출한다고 생각합니다 . 이 올바른지? 실제로의 주요 용도는 yield()무엇입니까? 및 방법 과 yield()다른 점은 …
단일 스레드가 호출하는 함수가 있습니다 (이것을 메인 스레드라고합니다). 함수 본문 내에서 CPU 집약적 인 작업을 수행하기 위해 여러 작업자 스레드를 생성하고 모든 스레드가 완료 될 때까지 기다린 다음 결과를 메인 스레드에 반환합니다. 그 결과 호출자가 함수를 순진하게 사용할 수 있고 내부적으로 여러 코어를 사용할 수 있습니다. 지금까지 모두 좋아 .. …
별도의 스레드에서 일부 서비스를 시작하는 콘솔 애플리케이션을 고려하십시오. 사용자가 Ctrl + C를 눌러 종료 할 때까지 기다리기만하면됩니다. 다음 중이 작업을 수행하는 더 좋은 방법은 무엇입니까? static ManualResetEvent _quitEvent = new ManualResetEvent(false); static void Main() { Console.CancelKeyPress += (sender, eArgs) => { _quitEvent.Set(); eArgs.Cancel = true; }; // kick off asynchronous …
나는이 링크를 보았다 : Implementing Mutual Exclusion in JavaScript . 다른 한편으로, 나는 자바 스크립트에 스레드가 없다는 것을 읽었지만 정확히 무엇을 의미합니까? 이벤트가 발생하면 코드에서 인터럽트 할 수있는 곳은 어디입니까? 그리고 JS에 스레드가 없으면 JS에서 뮤텍스를 사용해야합니까? 특히, 전역 적으로 액세스 할 수있는 변수에 대한 setTimeout()및 XmlHttpRequest's onreadystatechange에 의해 호출되는 …