书栈网 · BookStack 本次搜索耗时 0.033 秒,为您找到 213981 个相关结果.
  • 使用Semaphore

    使用Semaphore 小结 读后有收获可以支付宝请作者喝咖啡: 使用Semaphore 前面我们讲了各种锁的实现,本质上锁的目的是保护一种受限资源,保证同一时刻只有一个线程能访问(ReentrantLock),或者只有一个线程能写入(ReadWriteLock)。 还有一种受限资源,它需要保证同一时刻最多有N个线程能访问,比如同一时刻最多创建...
  • Pipeline 执行引擎

    Pipeline 执行引擎 原理 使用方式 设置Session变量 enable_pipeline_engine parallel_pipeline_task_num Pipeline 执行引擎 SinceVersion 2.0.0 Pipeline 执行引擎 是 Doris 在 2.0 版本加入的实验性功能。目标是为了替换当前 Doris...
  • 4 event_base

    4122 2019-05-17 《Libevent 深入浅出》
    4 event_base 4 event_base 本章主要来源《libevent参考手册(中文版)》。 使用 libevent 函数之前需要分配一个或者多个 event_base 结构体。每个 event_base 结构 体持有一个事件集合,可以检测以确定哪个事件是激活的。 如果设置 event_base 使用锁,则可以安全地在多个线程中...
  • 2.2 硬件的权衡

    2.2 硬件的权衡 2.2.1 频率提升带来的性能提升和局限性 2.2.2 超标量执行 2.2.3 超长指令字 2.2.4 SIMD和向量操作 2.2.5 硬件多线程 2.2.6 多芯架构 2.2.7 集成:片上系统和APU 2.2.8 高速缓存层次结构和存储系统 2.2 硬件的权衡 如果有点使用图形API和像素渲染器的经验的话,就更...
  • 12.5 防止死锁的加锁机制

    12.5 防止死锁的加锁机制 问题 解决方案 讨论 12.5 防止死锁的加锁机制 问题 你正在写一个多线程程序,其中线程需要一次获取多个锁,此时如何避免死锁问题。 解决方案 在多线程程序中,死锁问题很大一部分是由于线程同时获取多个锁造成的。举个例子:一个线程获取了第一个锁,然后在获取第二个锁的时候发生阻塞,那么这个线程就可能阻塞其他线...
  • MySQL · 特性分析 · 线程池

    概述 实现 重要参数解析 一些改进 连接池和线程池的区别 概述 MySQL 原有线程调度方式有每个连接一个线程(one-thread-per-connection)和所有连接一个线程(no-threads)。 no-threads一般用于调试,生产环境一般用one-thread-per-connection方式。one-thread-per...
  • 线程

    2073 2018-02-27 《libuv中文教程》
    Threads Core thread operations thread-create/main.c TIP thread-create/main.c Synchronization Primitives Mutexes libuv mutex functions NOTE Lock locks/main.c - simple rwloc...
  • 9.14 协程的好处

    1284 2019-03-05 《Kotlin极简教程》
    9.14 协程的好处 9.14.1 阻塞 vs 挂起 9.14 协程的好处 与多线程、多进程等并发模型不同,协程依靠user-space调度,而线程、进程则是依靠kernel来进行调度。线程、进程间切换都需要从用户态进入内核态,而协程的切换完全是在用户态完成,且不像线程进行抢占式调度,协程是非抢占式的调度。 通常多个运行在同一调度器中的协程运行在...
  • 2.4 运行时决定线程数量

    2.4 运行时决定线程数量 2.4 运行时决定线程数量 std::hardware_concurrency() 在新版C++标准库中是一个很有用的函数。这个函数将返回能同时并发在一个程序中的线程数量。例如,多核系统中,返回值可以是CPU核芯的数量。返回值也仅仅是一个提示,当系统信息无法获取时,函数也会返回0。但是,这也无法掩盖这个函数对启动线程数量的...