- 博客(8)
- 资源 (8)
- 收藏
- 关注
原创 Fabric solo源码分析1
Fabric solo算法该算法较为简单,主要的处理逻辑在solo.main方法上。func (ch *chain) Halt()solo支持多通道停止算法,当有多个通道要停止算法,各个通道都会发送exitChan,solo会在接收到所有的exitChan才会close该exiChan让solo停止。但是多个通道怎么体现,怎么进行的,待分析。<未完成>//这里为什么用sele...
2019-04-30 17:59:11 356
原创 Fabric solo源码之单元测试部分(1)
这里分析TestHaltBeforeTimeout(t *testing.T)的数据流,主要包括三个部分:启动solo算法,Test调用goWithWait启动solo算法调用syncQueueMessage小消息加入到处理队列中,其角色类似客户端模拟执行,solo算法中,调用 chain.support.BlockCutter().Ordered(msg.normalMsg)模拟执...
2019-04-16 22:38:44 603
原创 关于go在函数退出后子协程的退出问题
关于go在函数退出后子协程的退出问题该问题来源于自己在读fabric源码时,看到的一个测试代码,在一个函数中启用协程,然后该函数退出了,由于平常没有这样处理过,以及受原有c++函数域的影响,认为函数退出,子协程应该也退出了呀。这其实是自己对go协程的理解不到位引起的,go的协程作用域不是在某个函数中的,而是调用它的那个协程下的,也就是说,外部协程退出,该协程就会被强制退出,而不是有那个函数的退...
2019-04-14 22:43:43 15167 9
原创 原子广播
原子广播学区块链这么久,对原子广播这个早有听说,但一直不明白其具体内涵,查阅wiki,原子广播是一个分布式原语,其保证各节点收到并相同次序的消息并处理或者没有副作用的中止操作。In fault-tolerant distributed computing, an atomic broadcast or total order broadcast is a broadcast where al...
2019-04-10 16:49:51 2338
原创 GC-引用计数法
GC-引用计数法GC:释放怎么都无法被引用的对象的机制。引用计数法在对象的元数据区,加入了计数器,用于表示当前对象被引用了多少次。引用计数法与其他GC算法相比,在于GC的的调用时机:GC标记-清除算法是在没有可用分块时,会调用GC函数,进行垃圾处理回收,即是一种无侵入式的GC,这样就造成,最大暂停时间较大,此外,标记-清除算法即是产生了垃圾,也不会将其马上回收,只会在没有分块的时候,将垃圾...
2019-04-08 21:16:19 2297
原创 GC-序
GC-序GC要做的就两件事:找到内存空间里的垃圾回收垃圾,让程序员能再次利用这部分空间GC历史:GC标记-清除算法引用计数法:有个缺点不能回收“循环引用”GC复制算法:把内存分为两部分50年来,GC的根本都没有改变,现在的GC算法大多是从上述的三个基本算法衍生出来的产物。要注意的是,GC基本上是高负载处理,需要花费一定的时间,对于追求即时性的程序,就必须尽量压低GC导致的...
2019-04-07 19:16:38 276
原创 GC标记-清除算法(Mark Sweep GC)
GC标记-清除算法(Mark Sweep GC)GC算法是对堆空间进行的内存管理,一般堆空间会按内存分配成大小相等的块,并用链表串连起来,比如free_list表示可用空间。标记清除算法主要有两部分即标记和清除,实现垃圾回收,但垃圾回收之外,还有对应的内存分配,以及垃圾回收后的碎片整理等。gc(){ mark() sweep()}标记阶段:mark()函数是会对根对象进...
2019-04-07 17:06:06 5261
SpeedMonitor.app.zip
2020-06-26
WPS语言中文包
2017-05-17
YUV播放工具
2016-08-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人