Есть ли какая-либо идея (библиотека или методология) для создания многопоточных приложений в JavaScript?
Другое моделирование потоков, которые я нашел довольно стабильным, это использовать изображение. Который, кажется, загружен в другую нить в браузере (?). Однако ваш обратный вызов JavaScript будет всегда последовательно.
Здесь ниже он загружает 500 из них.
<html>
<head>
<title>so</title>
<style></style>
</head>
<script>
function callBack(img){
var i = 0, img, res = document.getElementById('res'),
fn = function(cnt){
var img = document.createElement('img');
img.onerror = function(ev){
res.innerHTML += cnt + ', ';
document.body.removeChild(img);
};
img.src = 'javascript:void(0)';
document.body.appendChild(img);
};
do{
fn(i++);
}while(i<500);
}
</script>
<body onload="callBack()">
<div id="res"></div>
</body>
</html>
Новейшая выпуск DEVINESIONS GIT Visual Studio 2010 Теперь (наряду с Visual Studio 2008 и Visual Studio 2005 ).
Я обнаружил, что он был довольно простым в использовании с Visual Studio 2008, и интерфейс, по-видимому, одинаково в Visual Studio 2010.
-121--1750006-JavaScript на самом деле не имеет многопоточных возможностей , и нет ничего программатора JavaScript, чтобы изменить это.
Однако то, что мы можем сделать, это имитировать мульти-резьбу. Пожалуйста, пройдите через эту статью .
И есть ссылка PDF на JavaScript Multithread Framework для асинхронной обработки Тезис
Самые близкие, которые вы получите веб-работники (только в FF 3.5 / HTML5). Проверьте это - http://www.whatwg.org/specs/web-workers/current-work/
Здесь какой-то рекурсивный алгоритм от лекции проф. Георг Умлауф
INTERSECT(b_0,...,b_m;c_0,...,c_n, EPSILON)
if [min b_i, max b_i] AND [min c_i, max c_i] != EMPTY { // check bounding boxes
if m*(m-1)*max||delta^2(b_i)|| > EPSILON) { // check flatness
Calculate b'_0, ..., b'_2m over [0, 0.5, 1] with the deCasteljau algorithm;
INTERSECT(b'_0,...,b'_m;c_0,...,c_n;EPSILON);
INTERSECT(b'_m,...,b'_2m;c_0,...,c_n;EPSILON);
}
}
else {
if (n*n-1)*max||delta^2(c_i)|| > EPSILON then {
Calculate c'_0, ..., c'_2m over [0, 0.5, 1] with the deCasteljau algorithm;
INTERSECT(b_0,...,b_m;c'_0,...,c'_n;EPSILON);
INTERSECT(b_0,...,b_m;c'_n,...,c'_2n;EPSILON);
}
else {
Intersect line segments b_0b_m and c_0c_n;
}
}
Где delta ^ 2 (b_i)
определяется как b_ {i + 2} - 2 * b_ {i + 1} + b_i
.
JavaScript - это динамический язык программирования и может использоваться для многих разных вещей. Если в браузере не используется, вы можете полностью полагаться на вещи, такие как несколько потоков, петли событий и т. Д. Вы должны проверить Node.js .
Браузер к сожалению дает вам строгий набор функций языка.