递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 4559|回复: 12
打印 上一主题 下一主题

[视窗] 请教下各位高手,多线程中的信号灯怎么使用?

[复制链接]

74

主题

431

帖子

3142

积分

论坛元老

Rank: 8Rank: 8

积分
3142
跳转到指定楼层
楼主
发表于 2021-9-6 12:13:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 4463424 于 2021-9-6 15:05 编辑

请教下各位高手,多线程中的信号灯怎么使用?
我想实现同时启动10个线程(10个线程的计算量不等),10个线程按调用顺序输出值,好像信号灯可以控制顺序,就是不知道怎么用,请高手指点下,谢谢!!!!!
例:
计次循环 (10)
启动线程 (子线程, 取循环索引 ())

子线程(1):10s完成
子线程(2):3s完成
子线程(3):20s完成
子线程(4):1s完成子线程(5):18s完成
子线程(6):1s完成
子线程(7):10s完成
子线程(8):12s完成
子线程(9):5s完成
子线程(10):50s完成

我想让10个线程排队运行, 子线程(1)>子线程(2)>子线程(3)>子线程(4)>子线程(5)>子线程(6)>子线程(7)>子线程(8)>子线程(9)>子线程(10)




回复

使用道具 举报

107

主题

642

帖子

3963

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3963
沙发
发表于 2021-9-6 14:02:03 | 只看该作者
我感觉你的描述象线程池
回复

使用道具 举报

107

主题

642

帖子

3963

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3963
板凳
发表于 2021-9-6 14:04:43 | 只看该作者
kamikaze 发表于 2021-9-6 14:02
我感觉你的描述象线程池

o 明白你的意思了
你弄一个整数数组变量和互斥锁 然后 按顺序将输出值加入数组
加入之前 判断 数组成员数,如果没成员不足 就等待输出
回复

使用道具 举报

74

主题

431

帖子

3142

积分

论坛元老

Rank: 8Rank: 8

积分
3142
地板
 楼主| 发表于 2021-9-6 14:56:45 | 只看该作者
kamikaze 发表于 2021-9-6 14:04
o 明白你的意思了
你弄一个整数数组变量和互斥锁 然后 按顺序将输出值加入数组
加入之前 判断 数组成员 ...

谢谢 你的回答!
我的理解是互斥锁好像是锁关键段,就只能让一个线程进入,其它线程在外面等着,谁先进不能确定。
不知道这样理解对不对
回复

使用道具 举报

107

主题

642

帖子

3963

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3963
5#
发表于 2021-9-6 16:14:59 | 只看该作者
对的
回复

使用道具 举报

107

主题

642

帖子

3963

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
3963
6#
发表于 2021-9-6 16:15:52 | 只看该作者
如果 两个线程 同时修改一个变量 或者 同一个组件时 就会崩溃
互斥锁 就防止这个
回复

使用道具 举报

6

主题

223

帖子

2607

积分

核心用户

Rank: 9Rank: 9Rank: 9

积分
2607
7#
发表于 2021-9-6 18:36:29 | 只看该作者
子线程用类可以解决冲突,类每次调用都是一个新的实体.
回复

使用道具 举报

28

主题

354

帖子

3019

积分

论坛元老

Rank: 8Rank: 8

积分
3019
8#
发表于 2021-9-6 18:56:58 | 只看该作者
信号灯原来设定同时运行的线程数量,设置为1个 就可以实现每个线程运行完毕在运行下一个线程
回复

使用道具 举报

6

主题

40

帖子

1437

积分

金牌会员

Rank: 6Rank: 6

积分
1437
9#
发表于 2021-9-6 19:56:38 | 只看该作者
当前线程等待上一个线程完成
回复

使用道具 举报

74

主题

431

帖子

3142

积分

论坛元老

Rank: 8Rank: 8

积分
3142
10#
 楼主| 发表于 2021-9-7 10:03:05 | 只看该作者
kamikaze 发表于 2021-9-6 16:15
如果 两个线程 同时修改一个变量 或者 同一个组件时 就会崩溃
互斥锁 就防止这个 ...

谢谢谢谢谢谢谢谢谢谢谢谢
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2024-6-26 16:27 , Processed in 0.094265 second(s), 17 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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