特别是关于MySQL,线程和进程之间有什么区别?文档有时似乎可以互换地引用它们,它甚至还引入了“会话”一词。
在最基本的级别上,显示线程的命令包含术语PROCESSLIST,就好像进程列表是线程列表一样。(https://dev.mysql.com/doc/refman/5.6/en/show-processlist.html -第一句话是“显示正在运行的线程”。)但是,在performance_schema.threads表中,每个线程都有自己的唯一thread_id,而不是从SHOW [FULL] PROCESSLIST返回的ID。相反,PROCESSLIST_ID是PROCESSLIST (https://dev.mysql.com/doc/refman/5.6/en/threads-table.html)的外键。这使我相信线程和进程不是一回事。
发布于 2019-06-23 05:01:21
MySQL已经在很多操作系统上实现--从Atari到Windows,到Solaris到Linux。当涉及到“进程”和“线程”时,不同的开放源码软件的工作方式不同。MySQL在每种情况下都选择了哪一种更好。然后,它在说"THREADS_runnng“和"show PROCESSlist”时显得很草率。
因此,在MySQL上下文中,“线程”和“进程”是同义词。
在操作系统环境中,它们是不同的,因此有必要开设多门计算机科学课程。
在MySQL中,一个连接使用一个线程(或进程)。还有一个主线程(进程)用于连接之间的协调。另外,InnoDB还有一些额外的线程(这些线程实际上可能是线程而不是进程?)处理后台I/O任务。
https://dba.stackexchange.com/questions/241152
复制相似问题