1、线程池
线程看做系统资源那么线程池本质上是对系统资源的管理,对于操作系统来说线程的创建和销毁是比较消耗系统资源的,频繁的创建与销毁线程必然给系统带来不必要的资源浪费,特别是在负载高的情况下这部分开销严重影响系统的资源使用效率从而影响系统的性能与吞吐量,另一方面过多的线程创建又会造成系统资源的过载消耗,同时带来相对频繁的线程之间上下文切换问题。
2、Mysql-Server支持3种连接管理方式
No-Threads、One-Thread-Per-Connection、Pool-Threads。连接管理方式通过thread_handling参数控制:
if (thread_handling <= SCHEDULER_ONE_THREAD_PER_CONNECTION)
one_thread_per_connection_scheduler(thread_scheduler,
&max_connections,&connection_count);
else if (thread_handling == SCHEDULER_NO_THREADS)
one_thread_scheduler(thread_scheduler);
else
pool_of_threads_scheduler(thread_scheduler, &max_connections,&connection_count);
3、
连接管理流程