Java 8 및 람다를 사용하면 컬렉션을 스트림으로 반복하고 병렬 스트림을 사용하기가 쉽습니다. docs의 두 가지 예 , parallelStream을 사용하는 두 번째 예 : myShapesCollection.stream() .filter(e -> e.getColor() == Color.RED) .forEach(e -> System.out.println(e.getName())); myShapesCollection.parallelStream() // <-- This one uses parallel .filter(e -> e.getColor() == Color.RED) .forEach(e -> System.out.println(e.getName())); 주문에 신경 쓰지 …
Java 8 병렬 스트림에 대한 사용자 정의 스레드 풀을 지정할 수 있습니까? 어디서나 찾을 수 없습니다. 서버 응용 프로그램이 있고 병렬 스트림을 사용하고 싶다고 가정하십시오. 그러나 응용 프로그램은 크고 멀티 스레드이므로 구획화하고 싶습니다. 한 모듈의 응용 프로그램에서 다른 모듈의 작업을 느리게 실행하고 싶지 않습니다. 다른 모듈에 대해 다른 스레드 풀을 …
한 번에 몇 가지 작업 4를 다음과 같이 실행해야합니다. ExecutorService taskExecutor = Executors.newFixedThreadPool(4); while(...) { taskExecutor.execute(new MyTask()); } //...wait for completion somehow 모두 완료되면 어떻게 알림을받을 수 있습니까? 지금은 전역 작업 카운터를 설정하는 것보다 더 나은 것을 생각할 수 없으며 모든 작업이 끝날 때마다 그것을 줄인 다음 무한 루프 에서이 …
동시 프로그래밍과 병렬 프로그래밍의 차이점은 무엇입니까? 나는 Google에 물었지만 그 차이를 이해하는 데 도움이되는 것을 찾지 못했습니다. 둘 다에 대한 예를 들어 주시겠습니까? 지금은이 설명을 찾았습니다 : http://www.linux-mag.com/id/7411- 그러나 "동시성은 프로그램의 속성입니다"대 "병렬 실행은 기계의 속성입니다"라고 충분하지 않습니다. 그래도 나는 무엇을 말할 수 없습니다.
4 코어 CPU가 있고 최소 시간 내에 일부 프로세스를 실행하려고한다고 가정하겠습니다. 프로세스는 이상적으로 병렬화 가능하므로 무한한 수의 스레드에서 청크를 실행할 수 있으며 각 스레드는 동일한 시간이 걸립니다. 코어가 4 개이므로 단일 코어는 주어진 순간에 단일 스레드 만 실행할 수 있기 때문에 코어보다 더 많은 스레드를 실행해도 속도가 향상되지 않을 것으로 …
일부 코드를 포팅하고 있으며 코드에 Parallel.ForEach오류가 continue있습니다. 루프 에서 Parallel.ForEach와 기능적으로 동등한 기능을 사용할 수 있습니까?continueforeach Parallel.ForEach(items, parallelOptions, item => { if (!isTrue) continue; });
나는 그것들이 기본적으로 같은 것이라고 생각했습니다. 프로세서 (2+ 프로세서를 가진 머신에서) 사이에 작업을 나누는 프로그램을 작성하는 것입니다. 그리고 내가 읽고 있어요 이 , 어떤 말한다 : 비동기 메서드는 비 차단 작업입니다. 비동기 메서드의 대기 식은 대기중인 작업이 실행되는 동안 현재 스레드를 차단하지 않습니다. 대신, 표현식은 나머지 메소드를 연속으로 등록하고 비동기 …
System.Collections.Concurrent.Net 4.0에서 새로운 네임 스페이스 를 보게되어 매우 기뻤습니다 . 내가 본 것 ConcurrentDictionary, ConcurrentQueue, ConcurrentStack, ConcurrentBag와 BlockingCollection. 의문의 여지없이 누락 된 것 중 하나는 ConcurrentList<T>입니다. 직접 작성해야합니까 (또는 웹에서 가져와야합니까)? 여기에 명백한 것이 빠져 있습니까?
특정 작업을 병렬로 실행하고 코드 속도를 높이기 위해 Python에서 threading및 multiprocessing모듈 을 사용하는 방법을 배우고 있습니다. 나는 threading.Thread()물체와 물체 의 차이점을 이해하기가 어렵습니다 (아마도 그것에 대한 이론적 배경이 없기 때문에) multiprocessing.Process(). 또한 작업 대기열을 인스턴스화하는 방법과 작업 대기열 중 4 개만 병렬로 실행하는 방법과 다른 작업은 실행되기 전에 리소스가 해제 …
어그, 리플렉터를 사용하여 BCL 에서이 두 가지 방법을 찾으려고하지만 찾을 수 없습니다. 이 두 스 니펫의 차이점은 무엇입니까? ㅏ: IEnumerable<string> items = ... Parallel.ForEach(items, item => { ... }); 비: IEnumerable<string> items = ... foreach (var item in items.AsParallel()) { ... } 하나를 사용하면 다른 결과가 있습니까? (두 예제의 괄호 …
C ++의 경우 OpenMP를 사용하여 병렬 프로그래밍을 수행 할 수 있습니다. 그러나 OpenMP는 Python에서 작동하지 않습니다. 파이썬 프로그램의 일부를 병렬화하려면 어떻게해야합니까? 코드의 구조는 다음과 같이 간주 될 수 있습니다. solve1(A) solve2(B) 어디에 solve1그리고 solve2두 개의 독립적 인 기능입니다. 실행 시간을 줄이기 위해 이러한 종류의 코드를 순차적이 아닌 병렬로 실행하는 방법은 …