- 主题:notify_one是如何保证了线程之间顺序不乱的?
比如三个线程时Abcabc不乱
--来自微水木3.5.1
--
FROM 106.121.138.*
我看了一个帖子的测试代码输出是这样的 贴主说他也没弄明白
【 在 milksea 的大作中提到: 】
: 不保证吧
: 【 在 trabalhar 的大作中提到: 】
: : 比如三个线程时Abcabc不乱
: ...................
--来自微水木3.5.1
--
FROM 106.121.138.*
那比如多线程读文件 要求顺序不乱 然后在调用多处理线程 然后多线程写出 这种生产者消费者模式 应该是有保证的吧
【 在 jimmycmh 的大作中提到: 】
: 一次测试的结果不代表就是这样
:
: 【 在 trabalhar (我是) 的大作中提到: 】
: ...................
--来自微水木3.5.1
--
FROM 36.113.34.*
我可能理解错了 应该是读是一个线程 处理是一个 写又是一个 然后顺序把这三个run起来 这只算三个线程吧…
【 在 jimmycmh 的大作中提到: 】
: 没有
:
: 【 在 trabalhar (我是) 的大作中提到: 】
: ...................
--来自微水木3.5.1
--
FROM 36.113.34.*
这是几个线程?
【 在 jimmycmh 的大作中提到: 】
: 只要是多线程,执行顺序就没有任何保证,跟启动顺序无关
:
: 【 在 trabalhar (我是) 的大作中提到: 】
: ...................
--来自微水木3.5.1
--
FROM 36.113.34.*
这样呢?
Run读线程 然后run处理线程 然后run写线程
【 在 jimmycmh 的大作中提到: 】
: 没有
:
: 【 在 trabalhar (我是) 的大作中提到: 】
: ...................
--来自微水木3.5.1
--
FROM 36.113.34.*
嗯
【 在 Bernstein 的大作中提到: 】
: 保证不了
: 能保证顺序的一种朴素方法:设置若干互斥量,每个线程在分配给它本身的特定互斥量上等待,按预定顺序唤醒互斥量即可
:
: ...................
--来自微水木3.5.1
--
FROM 106.121.67.*
我看是用了消息队列来保证的不出错 线程之间传递
【 在 ylh1969 的大作中提到: 】
:
: 【 在 trabalhar 的大作中提到: 】
: : 那比如多线程读文件 要求顺序不乱 然后在调用多处理线程 然后多线程写出 这种生产者消费者模式 应该是有保证的吧
: ...................
--来自微水木3.5.1
--
FROM 36.113.96.*
看文档就不问你了
【 在 z16166 的大作中提到: 】
: 楼主是典型的不看文档、张嘴就来
:
: 后面回复的就疯狂歪楼了
: ...................
--来自微水木3.5.1
--
FROM 36.113.34.*