在javascript / jquery中获取正在运行的线程id的方法

时间:2010-09-02 21:39:32

标签: javascript jquery event-queue

我是javascript / jquery的新手。 我有一个简单的问题,一个java脚本函数正在运行,并希望看到该线程的线程ID。 在java中我们喜欢

Thread.getID();//in java

将打印正在运行的线程的线程ID。 以类似的方式,我们使用什么函数来获取javscript中正在运行的线程id。

其实我想要的是......

在我的JavaScript中,我有一个正在收听频道的听众。当通道中有消息时,将调用回调方法并处理数据。所以在这里我试图看看它是如何工作的那样..假设通道中有10条消息,并且每条消息都会调用回调。

假设回调方法正在为消息“a”运行,并且在处理消息“a”的数据时,它得到另一个消息“b”。一旦消息“a”的处理完成,是否会调用“b”的回调方法?

我想通过在回调函数中打印线程号来检查这一点,该函数告诉它是按顺序运行(一个线程)还是多个线程。这就是为什么我试图打印线程ID。谢谢你的回复。

谢谢, 斯瓦特

4 个答案:

答案 0 :(得分:5)

JavaScript是单线程的。所以这不适用于JavaScript。

但是,可以通过HTML5中引入的非常有限 Worker接口生成多个线程,并且已经在某些浏览器上可用。来自MDC article

  

Worker接口产生真正的操作系统级线程,如果不小心,并发可能会在代码中产生有趣的影响。但是,对于Web worker,与其他线程的精心控制的通信点意味着它实际上很难导致并发问题。无法访问非线程安全组件或DOM,您必须通过序列化对象将特定数据传入和传出线程。因此,您必须非常努力地在代码中造成问题。

你需要什么?

答案 1 :(得分:0)

对于JavaScript中的大多数事情,都有一个线程,所以没有这方法,因为它可以通过“1”不变,你可以访问这些信息。事件和排队的后台有更多的线程(由浏览器处理),但就你的代码而言,有一个主线程。

Java!= JavaScript,它们只共享4个字母:)

答案 2 :(得分:0)

除了名称,Javascript与Java完全无关。 Javascript没有您可以访问的线程。

答案 3 :(得分:0)

在javascript中,脚本在浏览器线程中运行,而您的代码无法访问该信息,实际上您的代码不知道它是如何运行的。所以不行!在javascript中没有这样的东西。