美文网首页
ET 单线程同步OneThreadSynchronization

ET 单线程同步OneThreadSynchronization

作者: BacteriumFox | 来源:发表于2020-10-23 17:04 被阅读0次

    ET 单线程同步OneThreadSynchronizationContext

    单线程同步上下文,该类继承自SynchronizationContext,并实现了Post方法。
    该类主要作用是将用于收发消息的多线程同步到主线程中;
    类的结构:

    • queue一个线程队列,用于存放其他线程的委托方法
    • Post方法,用于多线程调用,在线程队列中存入多线程委托方法(该方法重写自SynchronizationContext类)
    • Update方法,用于主线程调用,将线程队列中的方法出队并执行

    通过上面一进一出,将多线程转换成单线程


    这里简单介绍下SynchronizationContext:

    SynchronizationContext在通讯中充当传输者的角色,实现功能就是一个线程和另外一个线程的通讯

    Send() 是简单的在当前线程上去调用委托来实现(同步调用)。也就是在子线程上直接调用UI线程执行,等UI线程执行完成后子线程才继续执行,需要等待。
    Post() 是在线程池上去调用委托来实现(异步调用)。这是子线程会从线程池中找一个线程去调UI线程,子线程不等待UI线程的完成而直接执行自己下面的代码,不需要等待。


    相关文章

      网友评论

          本文标题:ET 单线程同步OneThreadSynchronization

          本文链接:https://www.haomeiwen.com/subject/uezkmktx.html