linux:在main函数中创建了两个线程,那么谁是主线程,是main函数吗,还是其他的?

作者&投稿:嵇尚 (若有异议请与网页底部的电邮联系)
java软件开发_0基础学it+高薪就业~ 在主函数之前创建线程?你是说在主函数返回之前创建线程,还是说主函数执行之前创建线程?
线程是程序最基本的运行单位,而进程不能运行,所以能运行的,是进程中的线程。进程仅仅是一个容器,包含了线程运行中所需要的数据结构等信息。一个进程创建时,操作系统会创建一个线程,这就是主线程,而其他的从线程,却要主线程的代码来创建,也就是由程序员来创建。
一般地,线程的调度(也就是什么时候运行,什么时候暂停运行)由操作系统来负责,但你也可以显式地挂起其他的线程,或继续其他线程的运行。
对于线程,你可以把它看作是一个运行的轨迹,而多个线程,你可以看作是你的程序的不同的代码在并行地运行,而不是串行的运行(当然,实际上对于单CPU来说,多线程也是串行运行的,不过从宏观上来看,多线程是并行执行的),也就是说,你的几个线程在同时执行任务。这样一来,你就可以让不同的线程来执行不同的任务,它们之间互相不干扰,比如你可以创建一个线程用来响应界面的消息,另一个线程来做实际的工作,这样就不会由于需要计算的东东太多而导致界面失去响应,看上去跟死了一样了。

什么是main函数及变量的声明和定义
答:可以说明函数名以及函数该如何使用,如void xiaoming ();这里在函数名后面分号,出现在头文件中,只是声明该函数长什么样子的,以便于在后面主函数main可以调用它。符号表示这一行在编译器接手前由预处理来处理的语句。int main():main函数是程序唯一第一个开始执行的,而()表示main是个一个函数,...

c语言中main函数参数写上int argc,char*argv到底是什么意思?什么作用...
答:argv[1]);\x0d\x0a printf("%s\n",argv[2]);\x0d\x0a return 0;\x0d\x0a}\x0d\x0a编译: gcc -o hello aa.c (也就是编译出来的执行文件叫hello,这是linux上的编译方式)\x0d\x0a执行: hello aa bb\x0d\x0a结果:\x0d\x0a2\x0d\x0ahello\x0d\x0...

初学编程,C语言中的main函数
答:main()是省略了返回值类型,C语言会默认认为成main的类型为int,在main()的函数体内要返回一个值,如return 0;而void main()的返回值是void类型,也就是说没有返回值。这样在main()的函数体内你就不用写return 0;或者return 1;之类的返回语句。在一个程序中,可以说你看不出两者的差别,因为...

带参数的main函数,应该怎样运行呢
答:1、首先打开编程软件,输入一个c语言的源码来测试。2、让其输出第一个int类型的数,但这样还不清晰。3、接下来使用while循环让其输出输入的字符串。4、完成后,进行编译。然后回车执行后,就能够看到输出的参数信息,说明程序已经成功获取参数。

c语言中,exit(1)是什么意思?求助~
答:退出整个程序,终止进程,并返回0给操作系统。1、由于返回0代表程序正常退出,返回1等其他数字通常代表异常终止,可通过返回的具体数值判断出错源。2、函数名: exit(),所在开头文件为:stdlib.h 3、关闭所有文件,终止正在执行的进程。exit(1)表示异常退出.这个1是返回给操作系统的。

int main和void main的区别是什么?
答:标准的main函数有两种:int main(void) //不需要参数。int main(int argc, char *argv[]) //需要参数,argc为给程序的参数的个数,argv中保存的是给函数的参数,都是字符串。都需要返回值,这样用户可以知道程序是否正确执行。其他类型的main函数都是非标准的。像linux下都是用标准的main函数,而...

main函数的类型
答:另外一种非标准通常形式为int main(int argc,char *argv[] char *envp[]),envp表示传入的环境变量。一般来说,除非限制了特定的平台(在一些特定的场景如Linux内核程序中,应该使用void main();),对于控制台程序最好只使用标准定义的入口函数形式或者int main();。即使用VC++,void main();也...

电脑中的main是什么意思
答:Main在电脑里什么意思Main在电脑里什么意思1、这个main常见于早期的windows1之类的系统,是主群组的意思,里面包含了电脑管理软件,例如文件管理器、控制面板等。2、电脑的MAIN就是电脑用户名的代称,默认的电脑用户名就是这个。3、主函数入口,也就是说用c编程的话,找main()也就找到了程序的入口,一...

如何在linux上使用boost:thread-C/C++
答:" << std::endl;}int main (int argc, char ** argv) { using namespace boost; thread thread_1 = thread(task1); thread thread_2 = thread(task2); // do other stuff thread_2.join(); thread_1.join(); return 0;}编译时的命令为:$ g++ -I./inlcude...

linux 运行程序传递
答:从你执行的过程来看 text_filename 是你的程序的参数,看看你的程序里面是不是需要argv[1]的值啊?你的应用程序需要传递进去参数,main函数的参数argc是参数个数(参数包括执行程序的名字,这里指a.out) argv是参数数组 不懂再问