关于linux下pthread建立线程在多核上运行的问题
线程、进程算是老生常谈的问题了,以前我也是只知道“一个进程只有一个线程时就单核,有多个线程时就可以多核”。
多看了一些书以后,觉得线程就只是程序虚拟的一个东西,线程的同步、通信、创建、调度等全是由pthread一手控制的,linux操作系统根本不知道它的存在。问题就来了,linux把任务调度到多核上完全是进程级别的,总不能智能到去分析同一进程编号的进程下面用户自己还按任务分了几个线程吧?
总之,就想问一下大牛们pthread写的多线程程序到底能不能在多核上运行?如果能,那么这里的“线程”是不是被pthread悄悄地fork、exct成进程了?