找回密码
 立即注册
CeraNetworksBGVM服务器主机交流IP归属甄别会员请立即修改密码
查看: 61|回复: 7

js如何多线程执行for语句

[复制链接]

70

主题

205

回帖

1184

积分

金牌会员

积分
1184
发表于 2023-12-15 09:49:46 | 显示全部楼层 |阅读模式
需要使用for循环处理大量数据,我是这么写的,数据量大的时候很耗费时间。18cm的mjj有没有什么办法能让下面几个for循环并行执行。
for(var i = 0; ; i++) {
if(条件1) {
语句;
break:}}
for(var j = 0; ; j++) {
if(条件2) {
语句;
break:}}
for(var k = 0; ; k++) {
if(条件3) {
语句;
break:}}
回复

使用道具 举报

44

主题

855

回帖

2742

积分

金牌会员

积分
2742
发表于 2023-12-15 09:50:36 | 显示全部楼层
你这是什么环境,node还是browser?
回复

使用道具 举报

70

主题

205

回帖

1184

积分

金牌会员

积分
1184
 楼主| 发表于 2023-12-15 09:52:57 | 显示全部楼层
"

browser
回复

使用道具 举报

21

主题

312

回帖

859

积分

高级会员

积分
859
发表于 2023-12-15 09:50:00 | 显示全部楼层
setTimeout
回复

使用道具 举报

24

主题

281

回帖

918

积分

高级会员

积分
918
发表于 2023-12-15 09:53:05 | 显示全部楼层
浏览器环境下,js只能单线程执行,想要多线程执行只能使用serviceworker
回复

使用道具 举报

2

主题

15

回帖

62

积分

注册会员

积分
62
发表于 2023-12-15 09:54:33 | 显示全部楼层
问gpt直接给你写出代码
回复

使用道具 举报

1

主题

130

回帖

443

积分

中级会员

积分
443
发表于 2023-12-15 09:54:51 | 显示全部楼层
异步promise
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
回复

使用道具 举报

515

主题

3154

回帖

8833

积分

论坛元老

积分
8833
发表于 2023-12-15 09:56:10 | 显示全部楼层
要同时执行多个for循环,可以使用多线程或异步编程的方式。以下是使用多线程的示例代码:
[ol]
  • // 创建一个线程来执行第一个for循环
  • var thread1 = new Thread(function() {
  •   for(var i = 0; ; i++) {
  •     if(条件1) {
  •       语句;
  •       break;
  •     }
  •   }
  • });
  • // 创建一个线程来执行第二个for循环
  • var thread2 = new Thread(function() {
  •   for(var j = 0; ; j++) {
  •     if(条件2) {
  •       语句;
  •       break;
  •     }
  •   }
  • });
  • // 创建一个线程来执行第三个for循环
  • var thread3 = new Thread(function() {
  •   for(var k = 0; ; k++) {
  •     if(条件3) {
  •       语句;
  •       break;
  •     }
  •   }
  • });
  • // 启动线程
  • thread1.start();
  • thread2.start();
  • thread3.start();[/ol]复制代码
  • 回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    Archiver|手机版|小黑屋|HS2V主机综合交流论坛

    GMT+8, 2024-5-22 06:54 , Processed in 0.080667 second(s), 3 queries , Gzip On, Redis On.

    Powered by Discuz! X3.5

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表