3 가지 정렬 알고리즘을 구현했으며, 병렬로 실행하고 끝내 자마자 바로 console.log
인쇄를하고 싶습니다. 비동기 라이브러리 (https://github.com/caolan/async)를 사용하여 parallel
함수를 사용해 보았는데 기대했던대로 작동하지 않는 것 같습니다. 나는 자식 프로세스를 생성하는 것에 대한 몇 가지 주제를 보았지만, 항상 다음 종류를 실행하기 전에 하나의 정렬이 끝날 때까지 기다리는 것처럼 보인다. 항상 실행 된 순서대로 인쇄됩니다. 내 빠른 정렬을 실행 순서에 관계없이 느린 정렬 전에 인쇄 할 것이라고 생각합니다. node.js로 이러한 유형의 동작을 구현할 수 있습니까? 그렇다면 어떻게? 그렇지 않다면 왜 안 되겠습니까? 정말이 라이브러리와 같은정렬 알고리즘을 병렬로 실행하려면 어떻게해야합니까?
1
A
답변
0
: http://adambom.github.io/parallel.js/
당신은 (워드 프로세서)과 같이 사용할 수 있습니다 :
var slowSquare = function (n) {
var i = 0;
while (++i < n * n) {}
return i;
};
// Create a job
var p = new Parallel(100000);
// Spawn our slow function
p.spawn(slowSquare).then(yourCallback);
0
정렬은 동기 작업입니다.
Node.js
은 단일 스레드이기 때문에 여러 개의 병렬 생성을 병렬로 수행 할 수있는 방법이 없습니다. child processes. 단일 Node.js
프로세스는 동기 코드를 병렬로 실행할 수 없습니다.
당신이 할 수있는 가장 좋은 방법은 각 정렬 알고리즘을 하위 프로세스를 생성 할 메타 함수로 랩핑 한 다음 실제 정렬을 전달하는 것입니다.
프로덕션에서 병렬 처리를 실현하려면 cluster과 같은 것을 사용하여 각 작업마다 새 작업을 생성하는 대신 일련의 작업자를 유지하는 것이 가장 좋습니다.
비슷한 기능을 가진 바로 사용할 수있는 라이브러리가 있습니다. 방금 Google을 사용하여 찾았습니다 : node-compute-cluster. Connor Black은 in his answer에 또 다른 언급했다.
관련 문제
- 1. 리튬에서 필터를 병렬로 실행하려면 어떻게해야합니까?
- 2. 레이크 작업 내에서 피쳐를 병렬로 실행하려면 어떻게해야합니까?
- 3. MatLab에서 두 개의 GUI를 병렬로 실행하려면 어떻게해야합니까?
- 4. AsyncTask 내에서 작업을 병렬로 실행하려면 어떻게해야합니까?
- 5. Verilog에서 for 루프를 실행하려면 어떻게해야합니까?
- 6. 이 알고리즘을 OpenMP와 병렬로 만드는 방법은 무엇입니까?
- 7. 버블 정렬 알고리즘을 따르십시오
- 8. 정렬 알고리즘을 향상시키는 방법?
- 9. 파이썬에서 정렬 알고리즘을 타이밍을
- 10. 정렬 알고리즘을 사용하는 경우
- 11. 정렬 알고리즘을 사용하여 문자열 목록 정렬 (C#)
- 12. 첫 번째 숫자로만 루비 정렬 알고리즘을 정렬
- 13. STL 컨테이너를 사용하여 라이브러리 정렬 알고리즘을 구현하려면 어떻게해야합니까?
- 14. 일치하는 알고리즘을 작성하려면 어떻게해야합니까?
- 15. vaadin으로 scala를 실행하려면 어떻게해야합니까?
- 16. Evolutions을 단계별로 실행하려면 어떻게해야합니까?
- 17. POCO에서 보고서를 실행하려면 어떻게해야합니까?
- 18. 장고를 서비스로 실행하려면 어떻게해야합니까?
- 19. -drawRect를 실행하려면 어떻게해야합니까?
- 20. AsyncTask를 계속 실행하려면 어떻게해야합니까?
- 21. Redis를 Azure에서 실행하려면 어떻게해야합니까?
- 22. 백그라운드에서 클래스를 실행하려면 어떻게해야합니까?
- 23. Maglev에서 Rails를 실행하려면 어떻게해야합니까?
- 24. rhino로 jshint를 실행하려면 어떻게해야합니까?
- 25. Snappy없이 OrientDB를 실행하려면 어떻게해야합니까?
- 26. onEdit 스크립트를 실행하려면 어떻게해야합니까?
- 27. 백그라운드에서 코드를 실행하려면 어떻게해야합니까?
- 28. Mac에서 WebGL을 실행하려면 어떻게해야합니까?
- 29. BiwaScheme을 JSFiddle에서 실행하려면 어떻게해야합니까?
- 30. Java는 어떤 정렬 알고리즘을 채택합니까?