跟我一起学“仓颉”编程语言-多线程协调之Barrier
一、Barrier多线程环境下线程间的同步和协调是保证程序正确执行的关键。Barrier是一个同步辅助工具用于在多个线程之间建立一个同步点。线程必须相互等待直到所有线程都达到这个同步点才能继续执行。Barrier的机制非常适合多个线程在进入下一个阶段任务前需要等待彼此完成当前任务的场景。比如在对战游戏中先确保所有线程都完成了当前游戏回合的所有任务后在进入下一回合游戏。这里我们用实际场景给大家代码案例一群游客乘坐大巴车去旅游。只有当所有游客都到集合地后他们才能乘坐大巴车前往旅游景点。package Study // 导包 import std.sync.* import std.collection.* main () { // 需要协调的线程数 let count 3 let barrier Barrier(3) let list ArrayListFutureUnit() for (_ in 0..count) { let future spawn { println(游客${Thread.currentThread.id}正在前往集合地) // 模拟前往集合地的时间 sleep(Duration.second * 3) println(游客${Thread.currentThread.id}到达集合地) // 等待其他游客 barrier.wait() println(所有游客均已到齐游客${Thread.currentThread.id}乘坐大巴车前往旅游景点) } list.add(future) } for (future in list) { future.get() } }二、小结本章为大家详细的介绍了仓颉编程语言中多线程协调之Barrier的内容下一章为大家带来多线程协调之SyncCounter的内容。最后创作不易如果大家觉得我的文章对学习仓颉服务端开发有帮助的话就动动小手点个免费的赞吧收到的赞越多我的创作动力也会越大哦谢谢大家