• 如何减少线程上下文切换


    1. 无锁并发编程。多线程竞争锁,会引起上下文切换。如果是多线程处理数据时,可以根据hash分段处理数据,避免锁竞争

    2. CAS算法。java的 atomic原子类 ,compare and swap,比较再交换,也是一直无锁算法。内存值V,旧的预期值A,要修改的新值B。如果内存值和A相同,则修改成B,否则什么都不做。CAS算法与sychronized相对,算是乐观锁。

    3  减少不必要的线程数量

    4.协程,在单线程里实现多任务的调用。协程是运行在线程之上,当一个协程完成后,可以主动让出,让另一个协程运行在上面

  • 相关阅读:
    gin内置验证器使用
    model
    work,工作模式
    orm框架
    simple模式下rabbitmq的代码
    rabbitmq介绍
    订阅模式
    路由模式
    redis五大数据类型
    Go操作redis
  • 原文地址:https://www.cnblogs.com/scru/p/14506703.html
Copyright © 2020-2023  润新知