当前位置: 技术问答>linux和unix
函数与线程
来源: 互联网 发布时间:2016-12-25
本文导语: 各位大牛,请问用c语言编写了一个有多个函数的程序,运行的时候这个程序就是一个进程,里面每个函数运行时就是个单独的线程,可以这样理解么?实在是初学,一团糨糊,各位别见笑。 | ...
各位大牛,请问用c语言编写了一个有多个函数的程序,运行的时候这个程序就是一个进程,里面每个函数运行时就是个单独的线程,可以这样理解么?实在是初学,一团糨糊,各位别见笑。
|
不是. 只有一个主进程,而且每个函数都运行在这个主进程中.
你又没有编写多线程运动这些函数.
要想在线程中运行,可以pthread_create() 具体的man 下.
你又没有编写多线程运动这些函数.
要想在线程中运行,可以pthread_create() 具体的man 下.
|
每个进程一出生就会有一个唯一的线程,以后就可以创建线程了。所以,你的整个程序肯定是运行在某一个线程中。
函数调用给你举个简单的例子:你现在有三个任务:买菜,洗菜,切菜,做饭。其实就相当于四个函数。你顺序的去做下去就对了。当然,函数调用有同步和异步的。那么就相当于你锅里放了米和水,开火让她煮饭。你可以出去干其他的事情,等饭熟了你回来进行下一步操作。而整个过程都是在同一个线程中。并不是每个函数一个线程。
函数调用给你举个简单的例子:你现在有三个任务:买菜,洗菜,切菜,做饭。其实就相当于四个函数。你顺序的去做下去就对了。当然,函数调用有同步和异步的。那么就相当于你锅里放了米和水,开火让她煮饭。你可以出去干其他的事情,等饭熟了你回来进行下一步操作。而整个过程都是在同一个线程中。并不是每个函数一个线程。
|
函数和线程没关系,除非你创建了线程,才会有新的线程出来。
|
大哥们多说了,我来胡言乱语几句。
你调用函数的顺序是确定的,宏观微观都是串行的,而多线程的话,宏观上是并行的,看上去是两个函数一起执行的效果。
你试着让自己的程序同时显示和接受输入还有运算bla .. bla ..就知道为什么需要多线程和多进程了。
你调用函数的顺序是确定的,宏观微观都是串行的,而多线程的话,宏观上是并行的,看上去是两个函数一起执行的效果。
你试着让自己的程序同时显示和接受输入还有运算bla .. bla ..就知道为什么需要多线程和多进程了。