The TCP/IP connection thread handles all connection requests
and creates a new dedicated thread to handle the
authentication and SQL query processing for each connection.
On Windows NT there is a named pipe handler thread that does
the same work as the TCP/IP connection thread on named pipe
connect requests.
The signal thread handles all signals. This thread also
normally handles alarms and calls
process_alarm()
to force timeouts on
connections that have been idle too long.
If mysqld is compiled with
-DUSE_ALARM_THREAD
, a dedicated thread that
handles alarms is created. This is only used on some systems
where there are problems with sigwait()
or if you want to use the thr_alarm()
code in your application without a dedicated signal handling
thread.
If one uses the
--flush_time=val
option, a dedicated thread is created to flush all tables at
the given interval.
Every connection has its own thread.
Each table for which INSERT DELAYED
statements are issued gets its own thread.
If you use --master-host
, a slave
replication thread is started to read and apply updates from
the master.
If the event scheduler is active, there is one thread for
the scheduler, and a thread for any event currently running.