是否可以允许在 javascript 中的主线程中等待
Is it possible to allow waiting in the main thread in javascript
我目前正在使用 Web Workers,出于某些测试目的,如果可以在主线程中等待,直到 worker 完成他们正在做的事情,那就太好了。所以:
主线程 ->启动工作线程
主线程 ->等待工人完成
工人 ->做一些工作
工人们完成。
主线程 ->做一些事情。
我意识到最正确的方法是在主线程中使用回调,每当工人完成时都会调用该回调,但由于实际原因,这将不起作用。我已经制作了类似于Java中的CyclicBarrier的东西,但是每当我在主线程中调用barrier.enter()时,我当然会收到错误。因此,我想知道的是,是否可以设置任何设置或类似的东西,暂时允许我在主线程上阻止。顺便说一句,我正在使用节点运行我的程序。
这纯粹是出于测试目的,我当然永远不会在生产环境中使用它!
如果你坚持不使用事件,你就把自己置于一个棘手的境地。如果阻塞主线程,则无法处理工作线程发送的事件。工作线程和主线程之间没有其他通信通道。
还是有?您可以创建一个 HTTP 服务器,将所有数据从工作线程中继到主线程。主线程可以在该服务器上创建同步 HTTP 请求。同步 AJAX 请求确实会阻塞主线程,但不会占用 CPU。
相关文章:
- 在javaservlet doPost方法中启动线程时,无法返回异常消息
- javascript中的多线程
- Javascript支持多线程吗
- 如何在nodejs中创建线程池
- 起始节点.js用于并行的线程池
- Doppio:多线程是如何工作的,有什么限制吗
- 为什么Javascript SetTimeout()不是多线程的
- Selenium异步脚本在自己的线程中阻塞其他脚本
- Node.js如何使用更少的线程来处理多个连接
- Node.js如何用一个线程处理同时请求
- 从多线程C++插件回调NodeJS Javascript函数
- 电子框架是否允许网络工作者进行多线程处理
- 追加新web组件时出现线程问题
- 隔离每个线程/用户的setInterval
- Angular js显示类似gmail的重叠电子邮件线程
- 在节点.js的多个线程中运行任务
- JavaScript的setInterval可以阻止线程执行吗?
- 是否可以在加载Disqus线程后使用javascript覆盖Disqus 2012中的css
- Web 工作线程中的同步 XHR 请求是否仍会锁定浏览器
- 线程睡眠-如何“;等待”;而不会在JavaScript中阻塞(忙等待)