2

Это вопрос до Is there a point to multithreading?Будет ли JavaScript лучше, если бы он был многопоточным?

Если JavaScript был многопоточным, будет ли он лучше, чем существующая система? Будет ли многопоточность с одним потоком пользовательского интерфейса и другими задачами в разных потоках (фоновом режиме) принести большую отзывчивость и эффективное использование ресурсов?

Почему разработчики языка приняли решение о том, что придерживаются единой однопоточной модели, несмотря на достижения в отсутствие процессоров/машин и необходимость одновременного вытягивания различного контента и данных из разных механизмов. Почему они все еще в порядке со способом JavaScript timers work, когда многопоточность может предложить гораздо большую точность?

Я не пытаюсь придавить JavaScript как неэффективные, а узнать, как многопоточность приносит в стоимости по сравнению со сложностью он вводит программирования

ответ

4

Брендан Эйч (главный технический директор Mozilla) рассказал о сложности, которую это создало бы в «Threads suck».

Его вывод: «Так мой по умолчанию ответ на такие вопросы, как тот, который я получил в Ajax Опыт мае прошлого„Когда вы добавляете темы на JavaScript“это:„?! Над трупом“

Using web workers является альтернативой.

2

Если JavaScript были многопоточный, бы это обстоять лучше, чем существующий система?

Что вы имеете в виду, когда говорите «существующая система»? Исключительный Javascript, встроенный в ваш браузер? Или автономные реализации Javascript?

Я не пытаюсь придавить JavaScript в неэффективном

Язык сам по себе не является эффективным или неэффективным, это реализация. :-)

бы многопоточности с одним интерфейсом потоков и других задач в различных нитей (фон) приносят более отзывчивость и эффективного использования ресурсов ?

Rhino, то Javascript на JVM в Java может получить доступ и использовать потоки и любую другую библиотеку Java, так что да, вы можете сценарий до целого приложения Swing, в Javascript и он будет работать, как и любое другое приложение Свинг в Java из там.

В любом случае вопрос о том, как многопоточность приносит ценность по сравнению со сложностью, которую она вводит, не относится ни к какому языку как таковому. Есть несколько языков, которые обеспечивают довольно хорошую оболочку вокруг возможностей многопоточности, предоставляемых средой выполнения, поэтому нет. Многопоточность сложна, но более важна в наши дни, учитывая, что у нас есть многоядерные процессоры, питающие настольные компьютеры повседневного использования. :-)

0

Многопоточность не имела бы никакого значения для JavaScript, даже сейчас с помощью WebWorkers, для большинства приложений JS она не нужна. Только теперь, когда JS перемещает серверную сторону, и написаны более крупные приложения, которые являются полезными WebWorkers, а веб-работники бесконечно лучше и проще, чем многопоточность.

Рядом с веб-рабочими JS, серверная сторона JS, в частности, также склоняется к асинхронной обработке, что еще больше облегчает необходимость линейной обработки.

В прошлом и даже по сей день большинство приложений на стороне клиента, написанных на JS, просто не нуждаются в многопоточности, поскольку JS-движки также становятся все лучше и быстрее, при этом улучшение HTML и CSS ускоряется с помощью аппаратного ускорения.

И еще одна приятная вещь, с JS (от сервера к клиенту), мы можем легко переместить большую часть обработки на клиентскую сторону, в основном достигая огромной сети компьютеров, чтобы делать все вычисления без клиентов, нуждающихся в установке модных программ (просто браузер).

 Смежные вопросы

  • Нет связанных вопросов^_^