JavaScript测试Web工作者

JavaScript测试Web工作者,javascript,multithreading,Javascript,Multithreading,在工作中,我们有一个操作,在大多数浏览器上大约需要200毫秒。我们已经使用Web Workers将此操作卸载到它自己的线程中 我们的QA问我们,当这个200毫秒的操作在自己的线程中启动时,他们如何编写一个测试来验证实际上有两个线程在运行 我们怎样才能做到这一点?如何证明两个线程同时执行?可以编写测试代码,在其他代码运行时执行10ms或其他设置间隔,并检查当前日期。如果您的代码占用了主线程,那么所有的间隔调用都将排队等待,直到完成为止,因此您将看到一个200ms窗口,在该窗口中,间隔没有被调用,然

在工作中,我们有一个操作,在大多数浏览器上大约需要200毫秒。我们已经使用Web Workers将此操作卸载到它自己的线程中

我们的QA问我们,当这个200毫秒的操作在自己的线程中启动时,他们如何编写一个测试来验证实际上有两个线程在运行


我们怎样才能做到这一点?如何证明两个线程同时执行?

可以编写测试代码,在其他代码运行时执行10ms或其他设置间隔,并检查当前日期。如果您的代码占用了主线程,那么所有的间隔调用都将排队等待,直到完成为止,因此您将看到一个200ms窗口,在该窗口中,间隔没有被调用,然后在200ms代码完成后,20个调用快速分离。

我不确定这里的问题是什么。只需在worker中运行的操作结束时,从worker向主脚本发送
postMessage()。在触发
worker.onmessage()
之前,您知道该辅助进程一直在运行。