golang 并发运算时主线程先运行完,子线程运行没结束的问题记录
2024-10-19 16:26:16
代码如下:
blocks,err:= mgo.FindBlocks(batch) //获得当前批次下的矿体信息
cubes:= BlockCutting(blocks[0],x,y,z,nest)
for _,v := range cubes{if len(v.Incise)!=0 {
beego.Debug("有东西")
}
}
其中BlockCutting中的一步是用go并发做的
go BlockAndObject(block, faces, segments, 0, nest)
这样输出的话,即使v.Incise不为空,也不会输出“有东西”。原因是go还在并行计算的时候,主线程就已经结束了,这样自然就不会输出“有东西”了。
简单一点的解决办法是加入time.Sleep(1000),让主线程“多等一会”再结束。详细的加入信道的解决方案见另一篇博客https://www.cnblogs.com/zheng123/p/9803014.html
最新文章
- word20161222
- cf723c Polycarp at the Radio
- git branch使用
- codeforces 558B. Amr and The Large Array 解题报告
- linux网络编程_1
- ICANN认证企业列表
- Linux显示全部执行中的进程
- OC11_真正的代理
- sizeWithFont方法被弃用了,该怎么办?
- (hdu)1257 最少拦截系统
- Problem D Ananagrams(map的使用)
- Google的Guava它Collection升华
- mysql优化---第7篇:参数 innodb_buffer_pool_instances设置
- bootstrap快速入门笔记(六)-代码
- .NET英文技术文章导读(2017-03-23)
- 二路归并算法的java实现
- django 1.11 目录
- Word中选择中内容后变成C,VMware 虚拟中Ctrl键一直被按住了
- javascript 计算文件MD5 浏览器 javascript读取文件内容
- How to Verify Email Address
热门文章
- 4.Redis客户端的使用
- Cortex-M系列内核 启动文件分析
- JVM系列(三):JVM创建过程解析
- HHVM的全称是";HipHop for PHP";,开放源代码。采用PHP许可证授权!
- SSH Keys vs GPG Keys
- codesign wants to access key 密码是什么
- mdn &; remove &; removeChild
- Objec.assign &; bug
- 千万不要错过VAST,NGK算力的下一个财富机会!
- 高倍币VAST了解一下,如何掀起算力挖矿新热潮?