Метод, чтобы получить идентификатор запущенного потока в javascript / jquery - PullRequest
7 голосов
/ 03 сентября 2010

Я новичок в javascript / jquery.У меня есть простой вопрос, одна из функций скрипта java запущена, и я хотел увидеть идентификатор потока для этого потока.В java нам нравится:

Thread.getID();//in java

, который будет печатать идентификатор потока работающей нити.Аналогичным образом, какую функцию мы используем для получения идентификатора работающего потока в javscript.

На самом деле я хочу ..

В моем JavaScript у меня есть слушатель, который слушаетканал.Когда в канале появляется сообщение, вызывается метод обратного вызова, который обрабатывает данные.Итак, здесь я пытаюсь увидеть, как это работает таким образом ... Допустим, в канале 10 сообщений, и для каждого сообщения вызывается обратный вызов.

Допустим, для сообщения выполняется метод обратного вызова "а "и при обработке данных для сообщения" а "получено еще одно сообщение" б ".Будет ли вызван метод обратного вызова для «b» после завершения обработки сообщения «a»?

Я хотел проверить это, напечатав номер потока в функции обратного вызова, которая сообщает, выполняется ли она последовательно (одиннить) или несколько потоков.Вот почему я пытался напечатать идентификатор потока.Спасибо за ваши ответы.

Спасибо, Свати

Ответы [ 4 ]

5 голосов
/ 03 сентября 2010

JavaScript является однопоточным.Так что это не относится к JavaScript.

Тем не менее, можно создавать несколько потоков через очень ограниченный рабочий интерфейс, представленный в HTML5 и уже доступный нанекоторые браузеры.Из статьи MDC ,

Интерфейс Worker порождает реальные потоки уровня ОС , и параллелизм может вызвать интересные эффекты в вашем коде, если вы этого не сделаетеосторожный.Однако, в случае веб-работников, тщательно контролируемые точки связи с другими потоками означают, что на самом деле очень трудно вызвать проблемы параллелизма.Нет доступа к не поточно-безопасным компонентам или DOM, и вам нужно передавать определенные данные в поток и из потока через сериализованные объекты.Таким образом, вам нужно очень усердно работать, чтобы вызвать проблемы в вашем коде.

Для чего вам это нужно?

0 голосов
/ 03 сентября 2010

В javascript скрипты запускаются в потоке браузера, и ваш код не имеет доступа к этой информации, фактически ваш код не имеет представления о том, как он выполняется. Так что НЕТ! такого нет в javascript.

0 голосов
/ 03 сентября 2010

Помимо названия, Javascript совершенно не связан с Java. В Javascript нет потоков, к которым вы можете получить доступ.

0 голосов
/ 03 сентября 2010

Для большинства вещей в JavaScript есть один поток, поэтому нет никакого способа для этого, так как он был бы неизменным на «1», где вы могли бы получить доступ к такой информации.В фоновом режиме есть больше потоков для событий и очередей (обрабатываются браузером), но для вашего кода есть основной поток.

Java! = JavaScript, они имеют только 4 буквы:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...