2

이것은 Is there a point to multithreading에 대한 후속 질문입니까?멀티 스레드 된 JavaScript 코드가 더 좋았습니까

JavaScript가 다중 스레드 된 경우 기존 시스템보다 더 좋을까요? 하나의 UI 스레드와 다른 스레드 (배경)의 다른 작업으로 멀티 스레드를하면 응답 성이 향상되고 자원을 효율적으로 사용하게됩니까?

은 CPU/기계가 없다는 점에도 불구하고이라는 단일 스레드 모델을 고수하고 다른 메커니즘에서 다른 내용과 데이터를 동시에 가져와야하는 이유는 무엇입니까? 왜 그들은 멀티 쓰레딩이 훨씬 더 정확할 때 JavaScript timers work과 같은 방법으로 여전히 괜찮은가요?

나는 멀티 스레딩이이 프로그램에 소개 복잡성에 비해 값에 제공하는 방법, 오히려 배우고 비효율적으로 자바 스크립트를 아래로 핀을 시도하고 있지 않다

답변

4

브렌든 에이치 (Mozilla 's chief technical officer)는 "Threads suck"의 복잡성에 대해 이야기했습니다.

그의 결론 : "그래서 그런 내가 지난 5 월의 아약스 경험에서 얻은 하나, 같은 질문에 대한 내 기본 응답"자바 스크립트에 스레드를 추가합니다 "입니다 :"?! 죽은 몸 "

Using web workers이 대안입니다.

2

자바 스크립트가 멀티 스레드 된 경우, IT는 기존보다 더 나은 운임 것 체계?

"기존 시스템"이라고 할 때 정확히 무엇을 말하고 있습니까? 브라우저에 내장 된 기존 자바 스크립트? 또는 독립 실행 형 자바 스크립트 구현? 내가 비효율적

로 자바 스크립트 을 아래로 핀을 시도하고 있지 않다

자체로 언어는 구현이있어, 효율적이거나 비효율적 없습니다. 다른 스레드 (배경)에서 하나의 UI 스레드 및 기타 작업보다 응답 및 자원의 효율적인 사용에 데려와 함께 :-)

를 멀티 스레딩시겠습니까?

코뿔소, 자바의 JVM에서 자바 스크립트 액세스 및 스레드와, 그래서 그래, 당신은 스크립트 최대 자바 스크립트의 전체 스윙 응용 프로그램을 할 수있는 다른 Java 라이브러리를 사용하고 밖으로 자바의 다른 스윙 응용 프로그램처럼 작동 할 수 있습니다 그곳에.

어쨌든 멀티 스레딩이 가져 오는 복잡성과 비교하여 가치를 가져 오는 방법에 대한 질문은 어떤 언어에도 해당되지 않습니다. 거기에 런타임에 의해 제공되는 멀티 스레딩 기능에 대해 꽤 좋은 래퍼를 제공하는 몇 가지 언어가 있으므로 그렇게하지 마십시오. 멀티 스레드는 오늘날 일상적으로 사용되는 데스크탑 컴퓨터에 전력을 공급하는 멀티 코어 프로세서를 사용하기 때문에 요즘은 어렵지만 중요합니다. :-)

0

멀티 스레딩은 현재 웹 서버 에서조차 자바 스크립트와 차이를 만들지 않았으므로 대부분의 JS 응용 프로그램에서는 그다지 필요하지 않습니다. JS가 서버 측을 이동하고 WebWorkers가 유용 해지고 웹 근로자가 무한히 더 좋고 더 쉽게 멀티 스레딩되는 더 큰 응용 프로그램이 작성된 지금입니다.

웹 작업자, JS 다음으로 특히 서버 측 JS는 비동기 처리에 기울어 져 선형 처리의 필요성을 더욱 완화합니다.

과거와 현재까지도 JS로 작성된 클라이언트 측 응용 프로그램의 대부분은 하드웨어 가속으로 인해 HTML 엔진/CSS 렌더링이 향상되면서 JS 엔진도 점점 빨라지고 멀티 스레딩이 필요하지 않습니다.

또 다른 멋진 점이 있습니다. JS (클라이언트에서 서버로)를 사용하면 클라이언트 측에 많은 프로세싱을 쉽게 옮길 수 있습니다. 기본적으로 멋진 컴퓨터를 설치하여 클라이언트가 멋진 프로그램을 설치하지 않고도 모든 컴퓨팅을 수행 할 수 있습니다. 그냥 브라우저).