지난 몇 주 동안 나는 Clojure와 Erlang을 배우고 실험 해왔다. 내가 아는 바로는 두 가지 모두 동일한 유형의 문제를 해결하지만 다른 접근 방식을 사용합니다. 이것이 맞다면 Clojure는 Erlang과 같이 채팅 애플리케이션이나 티커 플랜트와 같은 실시간 시스템을위한 옵션이 될 수 있습니까? 서로 다른 환경에서 비록실시간 기능?
실시간 기능?
답변
모두 주소를 병행 프로그래밍 :
- Clojure의는 공유 메모리 동시 프로그래밍 정말 좋다. 하나의 큰 메모리 덩어리 (힙)에서 작동하는 많은 스레드가 있고 그 메모리 내의 공유 객체에 대한 액세스를 조정해야하는 곳.
- 얼랭 (Erlang)은 을 전혀 공유하지 않습니다. 분산 된 컴퓨팅은 프로세스가 많은 컴퓨터에서 실행되고 독립적 인 메모리 공간에서 작업 할 수 있어야합니다. 그들은 객체에 대한 공유 액세스를 조정하지 않습니다.
이들 시스템은 모두 "실시간 실시간"이며 채팅 및 제어 시스템과 같은 시스템에는 적합하지 않지만 하드 실시간 요구 사항이있는 시스템에는 적합하지 않습니다.
설명해 주셔서 감사합니다. 후속 조치로서, 지금까지 읽은 것부터 Erlang은 프로세스 (스레드) 관리가 OS에 의존하지 않으므로 어떻게 든 더 효율적/효과적이게한다는 사실을 강조합니다. 이 경험이 있습니까? – kin1
네트워크를 통해 직접 기능을 파이프 할 수 있기 때문에 erlang은 이기종 네트워크에서 실제로 효과적입니다. 메시지 전달만으로 작업을 수행 할 수 있다면 –
Clojure까지는 기본 Java VirtualMachine만큼 많은 실시간 기능을 제공 할 수 있습니다.
JVM을 사용하여 하드 실시간 시스템을 만들 수 있지만 Clojure가 제공하는 언어 구문을 뛰어 넘어야합니다. 당신이 조정할 필요가가는 것처럼
은 실시간 요구 사항에 따라, JVM이 (A는 이미 IBM Works article 또는 Fiji JVM
에 관한 ERLAND 같은 특정 JVM을 사용하는이 좋은 여기 보이는 관련 questions on SO
채팅 및 시세 식물 응용 프로그램은 두 언어로 달성 될 수 있지만, 개인적으로는 특히 클라우드 제공 (Heroku) 및 일반 호스팅 서비스를보고 Clojure를 함께 배포 할 쉬울 것 생각한다.
예, Clojure는 (소프트) 실시간 응용 프로그램을위한 매우 실용적인 옵션입니다.
기본적으로 JVM에서 다른 것과 동일한 실시간 성능을 얻을 수 있습니다. 사람들이 실시간 거래 플랫폼 (예 : These guys)에 JVM을 사용하고 있기 때문에 채팅이나 주식 시세 표시기로는 괜찮을 것이라고 확신합니다. 이 코어 스레드/많은 수의 많은 수에 특히 확장 아주 좋은 model of Software Transactional Memory이 있기 때문에
Clojure의이 상태 공유에 액세스 높은 동시 응용 프로그램에 특히 좋다. Rich Hickey 어딘가에 768 코어 Azul 시스템 박스에서 Clojure 어플리케이션을 동시에 시연하는 비디오가있다.
을 공유하지 않는 매우 분산 된 액자 에 대해 설계된 얼랑 (Erlang)과 대조 할 수 있습니다. 이것은 Erlang 어플리케이션에 기계 클러스터 전반에 걸친 엄청난 중복성과 확장 성을 제공하지만 각 프로세스는 자체 독립 상태를 관리하게됩니다.
- 1. rails 3.1 실시간 업데이트 기능
- 2. 실시간 실시간 그래프 라이브러리
- 3. 실시간 폴링없이 실시간 스트리밍 스트리밍
- 4. 실시간 표시
- 5. 어떻게 실시간
- 6. 실시간 그래프
- 7. 실시간 Google지도
- 8. ASP.NET MVC에 대한 실시간 차트
- 9. 디자인 실시간 제품 재고 관리
- 10. c/C++에서 실시간 처리를위한 실시간 데이터 입력 방법
- 11. 실시간 무거운 절차와 실시간 마우스 입력의 균형 조정
- 12. 대규모 데이터베이스의 실시간 인덱싱을위한 최고의 실시간 검색 플랫폼은 무엇입니까?
- 13. 권장 .Net 소프트 실시간
- 14. 실시간 시스템 데이터베이스 사용
- 15. register statement - 별표 실시간
- 16. wxWidgets를 사용한 실시간 그래프
- 17. node.js 실시간 게임
- 18. 실시간 데이터베이스 쿼리
- 19. 의사 실시간 스레드 스레딩
- 20. 배열의 실시간 정렬
- 21. iPhone에서 실시간 스트리밍
- 22. 이미지 크기 비교 (실시간?)
- 23. 실시간 트위터 상태
- 24. 그룹 월의 실시간 업데이트
- 25. 실시간 '가격 x 수량'계산기
- 26. 실시간 브라우저 기반 게임
- 27. 콘텐츠의 PHP 실시간 출력
- 28. WPF 실시간 진행률 막대
- 29. 실시간 앱 Facebook with
- 30. iPhone에서 실시간 스트리밍
채팅 앱 및 티커 플랜트는 소프트 실시간으로 모든 언어가 의미합니다. –