求大神帮忙看一个笔试题,关于区块链的,不知道哪里错了

gouyingqi · · 905 次点击
嗯,可能就是这点理解不同。我以为他要考的就只是实现串行提交,照你这么说可能他真想并行过程也要实现吧。 还有mutex效率高这点感谢告知,我印象里锁普遍效率不算很高而chan是O(1)的队列,确实没验证过。
#5
更多评论
平时不太用chan, 用mutex用的多一些, 我感觉你这里确实有问题, 因为你并不是利用队列实现了并发, 如果是我做的话, 我会开一个[]数组或者切片来存放所有的block, 然后利用协程来并发做验证. 最后利用一个单独的协程来检查数组中已经完成的block并编号之后丢到提交协程中, 中间会有mutex的介入,可能会有读写锁, 这样做效率应该是不低的. 这种思想类似于map reduce. 个人浅见,说错了勿怪.
#1
谢谢回复,说实话这个题目本来就不太明确,我也没准确理解他到底想考什么。 我是看题目里说实现“提交前预处理”环节,所以没写并发过程,只是简单模拟啊。 还有MUTEX效率应该是低于chan的吧所以我特意用了chan... 不管怎么说应该没错啊,那边给我的回复直接是“未实现功能”就不懂了
#2