Страницы: 1
можно ли запустить скрипт отдельным потоком и указать ему приоритет?
!
Отсутствует
можно ли запустить скрипт отдельным потоком и указать ему приоритет?
Отдельным - можно, поищи пример на xpoint. А приоритет - это вряд ли.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton, во всяком случае для с-кода точно можно: http://xulplanet.com/references/xpcomref/ifaces/nsISupportsPriority.html
Добавлено Чтв 12 Окт 2006 17:58:59 :
о, вроде что-то нашёл: http://kb.mozillazine.org/Implementing_XPCOM_components_in_JavaScript
правда не понятно, можно ли это делать динамически...
!
Отсутствует
кстати, можно:
function LOG(text) { var consoleService = Components. classes["@mozilla.org/consoleservice;1"]. getService(Components. interfaces. nsIConsoleService); consoleService. logStringMessage (text); } var x = 0; var ti = Components. classes ["@mozilla.org/thread;1"]. createInstance (Components. interfaces. nsIThread); var thread = { run: function () { while (x < 10) { try { LOG ("thread: " + x); x++; ti. sleep (1000); } catch (e) {} } } } ti. init (thread, 1000, 0, 1, 1);
нолик - приоритет (PRIORITY_LOW)
Отредактировано Anton (25-01-2007 20:03:10)
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
тогда шаг номер два - заставить все скрипты со страниц в других вкладках работать с пониженным приоритетом, а в текущей - снормальным.
!
Отсутствует
поток на самом деле всё же один
function LOG(text) { var consoleService = Components. classes["@mozilla.org/consoleservice;1"]. getService(Components. interfaces. nsIConsoleService); consoleService. logStringMessage(text); } var ti1 = Components. classes ["@mozilla.org/thread;1"]. createInstance (Components. interfaces. nsIThread); var ti2 = Components. classes ["@mozilla.org/thread;1"]. createInstance (Components. interfaces. nsIThread); function thread (id, x, y, ti) { this. id = id; this. x = x; this. y = y; this. ti = ti; } thread. prototype = { id: 0, x: 0, y: 0, ti: null, run: function () { while (this. x < this. y) { LOG ("thread " + this. id + ": " + this. x); this. x++; //this. ti. sleep (1000); } } } var thread1 = new thread (1, 100, 200, ti1); var thread2 = new thread (2, 200, 300, ti2); ti1. init (thread1, 1000, 0, 1, 1); ti2. init (thread2, 1000, 0, 1, 1); for (var i = 300; i < 400; i++) LOG ("main program: " + i);
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
то есть можно терять надежду?
!
Отсутствует
Страницы: 1