编译器只会编译一个循环,但会把操作系统的创建线程函数链接到你的主程序。编译后程序有个入口函数,运行时,操作系统生成一个进程,把程序加载到内存里,并跳转入口函数,如果这个函数内部跳来跳去,最后return那就是进程结束返回了。
如果这个函数内部调用了创建线程的函数,这个函数一般是操作系统提供的函数,此时相当于回到了类似上面提到的,每个线程又有一个自己入口函数,内部跳来跳去,最后返回。而最初的那个称为主线程,他可能立刻就结束了,因为调用操作系统的创建线程函数,创建完毕就会返回到主线程,继续往下执行。
【 在 ludongxing 的大作中提到: 】
: 一个简单的正常的C程序是一句一句把程序从头到尾执行的。
: 但是一个多线程的C程序当中可以建立许多个线程,这些线程
: 是怎么被编译器编译的,难道编译器会自动把这几个线程识别
: ...................
--
FROM 223.104.165.*