开篇:回调

来源:互联网 发布:gala乐队知乎 编辑:程序博客网 时间:2024/05/16 23:32

这几天被一个做android的兄弟整的我连续陪着加了几天班,在一个多线程处理资源获取的bug处理中,意外收获了对多线程回调的理解。

个人理解,回调就是首先传入一个指针,通过指针委托来调用函数。但是,以前由于是在C#中理解的,C#中有一个Delegate类型,个人理解,就是一个函数指针。单数在java中是没有Delegate的,我到处找java的Delegate实现,找了很久,都不如人意,java中的回调是用interface来实现的。

Interface实现回调,在C#我没有用过,但是在OC中,我用过的太多了,一个view通过定义protocol来实现动作,另外一个view通过protocol的指针来做委托调用。java中也是这样实现的。

这位兄弟的android代码调用interface的地方是静态函数,那也没有关系,我们不需要按照网上大把的例子的方法,把interface定义作为构造函数,直接定义一个静态set函数,对这个interface引用赋值就可以了。

唯独的问题,在UI跨线程访问中,貌似这种做法是不够的,我想,他也应该类似于invoke的机制。微笑

0 0
原创粉丝点击