草庐IT

线程不安全

全部标签

javascript - 如何使用 JavaScript 在单独的线程中打开一个新选项卡? ( Chrome )

是否可以打开一个将在单独线程中运行的新弹出选项卡?更具体地说,如果我创建一个新的弹出选项卡并在该新选项卡中开始调试,则包含链接的选项卡也会暂停javascript,直到我在新选项卡中单击恢复。我想要实现的是创建一个独立的新选项卡,这样我就可以在父选项卡继续运行时调试它。我在使用Chrome浏览器时遇到了这个问题。请注意,这在Firefox中运行良好(尚未在其他浏览器中测试过)。 最佳答案 通常chrome会强制新窗口在相同的进程ID上运行。但是,有一些技术可以让站点打开一个新窗口而不用强制它进入相同的进程:使用指向新窗口的不同网站的

javascript - 在javascript中加入多个回调/线程?

我正在寻找Thread.Join()类型的东西。假设我在javascript中触发了4个事件。我想执行代码,但只有在所有4个回调都完成之后。我怎么做?我能想到的唯一方法是检查4个回调是否正在通过全局变量进行处理,在这种情况下我忽略或抛出异常。但否则在每个回调中执行类似globalVar++的操作,并在每个回调结束时调用IsItDone()以检查globalVar是否==4。但是..我有点不喜欢它,尤其是因为我需要使用全局变量。 最佳答案 您可以自己建立一个队列并包装回调,但这有点麻烦。幸运的是,有大量的图书馆可以提供帮助。我不喜欢计

IE6 中的 JavaScript 多线程?

JavaScript多线程在IE6中是否可行?是否有任何第三方库? 最佳答案 JavaScriptdoesnotsupportnativemultithreading在当前的网络浏览器中。即使支持,我敢打赌IE6也不会支持它:)在多个iframe中运行脚本可能是一种解决方法,如JasonKestersuggestedinanotheranswer.此外,对于现代浏览器,您可能有兴趣查看WebWorkers,但这绝对是IE6联盟之外的东西:StackOverflow:JavaScriptandThreadsDiveintoHTML5:

Springboot 多线程分批切割处理 大数据量List集合 ,实用示例

 前言哲学提问镇贴:不了解异步怎么使用的看官,可阅:SpringBoot最简单的使用异步线程案例@Async_小目标青年的博客-CSDN博客SpringbootAsync异步扩展使用结合CompletableFuture_小目标青年的博客-CSDN博客想了解更多关于批量list处理操作的看官,可阅: JavaList数据量大,需要分片批次操作_小目标青年的博客-CSDN博客Mybatis批量插入采用分批处理一次500条_小目标青年的博客-CSDN博客Springboot手动分页查询,分批批量插入数据_小目标青年的博客-CSDN博客正文话不多说,本篇核心介绍的是日常毕竟常遇到的一些处理点。首先l

javascript - 使用 IFRAME 是否可以实现 javascript 多线程

我目前正在考虑使用IFRAME来实现一个非常简单的多线程引擎。然而,我的初步结果表明,在线程中运行比在单个线程中运行要慢。我的测试是:单线程varstart=newDate().getTime();for(vari=0;i多线程varstart=newDate().getTime();//Inthread1for(vari=0;i可以看出,我只是在IFRAME之间分配工作负载(请注意,上面的代码只是为了更好地描述我正在做的事情,它不是工作代码)。所以我在想即使使用FRAMEsFireFox仍然只有一个JS引擎?这个假设是否正确?(使我的研究变得愚蠢),其他浏览器是否不同?快速谷歌一下,

javascript - 从多个 javascript 线程访问 IndexedDB

概述:我试图通过从网页和网络worker访问IndexedDB来避免竞争条件。设置:在用户使用网站时将项目保存到本地IndexedDB的网页。每当用户将数据保存到本地数据库时,记录都会被标记为“未发送”。Web-worker后台线程从IndexedDB中提取数据,将其发送到服务器,一旦服务器接收到数据,就将IndexedDB中的数据标记为“已发送”。问题:由于对IndexedDB的访问是异步的,我不能保证用户不会在web-worker将记录发送到服务器的同时更新记录。时间线如下图:Web-worker从数据库中获取数据并发送给服务器在传输过程中,用户更新将其保存到数据库中的数据。网络w

Delphi TWebBrowser 中的 Javascript,关闭线程

我正尝试在Delphi中构建一个允许用户使用Googlemap的系统。一切正常,但我注意到每次创建新的TWebBrowser对象并加载处理Googlemap的javascript时,都会生成许多新线程。我的问题是,即使网络浏览器被销毁(并且肯定被销毁),创建的线程仍然存在。我正在设计这个程序,使其运行时间长,并且谷歌地图的打开和关闭发生多次,因此,一段时间后,生成了如此多的线程并且没有终止,以至于程序速度急剧下降。有什么方法可以自己销毁这些线程,还是我做错了什么导致线程持续存在?我的程序基于以下代码:constHTMLStr:AnsiString=''+''+''+''+''+''+'

javascript - 不安全的 JavaScript 尝试使用 URL 访问框架

我有一个带有Iframe的页面和来自Iframe的Javascript,可以访问父框架的功能。这些页面位于同一台服务器上(它不是跨域脚本),我对FF和IE没有任何问题,但是当我在Chrome上使用它时,我收到以下消息。UnsafeJavaScriptattempttoaccessframewithURLhttp://samedomain:51700/irj/servlet/prt/portal/prtroot/CRMApp73.StoricoAppfromframewithURLhttp://samedomain:51700/irj/servlet/prt/portal/prtroot

Javascript/网络浏览器线程模型

如果我正在运行javascript代码,例如在计时器上执行某些操作,并且此代码嵌入在Web浏览器的选项卡1和选项卡2中的网页中,那么客户端代码可以同时运行吗?还是javascript客户端代码总是只在单个浏览器线程中运行?或者,如果有一个包含父框架和子框架的框架集,那么在这种情况下javascript代码可以并发运行吗?是否有标准指定模型或是否依赖于浏览器?我的主要目标环境是IE9,所以很想知道那里发生了什么。编辑我不是在寻找线程支持或如何在javascript中进行线程处理。我个人认为没有必要。这也让生活变得更加复杂。我只想知道我是否需要担心它,如果需要,在哪些浏览器上。

javascript - Web Workers - 他们创建实际的线程吗?

我一直认为webworkers创建单独的线程,但今天我在w3c网站上看到了规范。以下是关于网络worker的引文:Thisallowsforthread-likeoperationwithmessage-passingasthecoordinationmechanism.问题是-如果它是类线程,而不是实际的线程,那么使用该技术的优势(性能方面)是什么?任何帮助将不胜感激! 最佳答案 是的,网络worker创建实际的线程(或进程,规范对此很灵活)。根据WebWorkers规范,创建工作人员时的第一步是:Createaseparatep