#include <stdio.h>
#include <pthread.h>
pthread_t thread;
void *fun(void *arg)
{
printf("hell0\n");
pthread_exit((void * 1));
}
int main(void)
{
pthread_create(&thread,NULL,fun,NULL);
sleep(1);
return 127;
}
在UNIX环境高级编程中说 进程的最后一个线程在启动例程中 执行返回语句,该进程正常终止,但是,该线程的返回值不会用作进程的返回值,当最后一个线程从其启动例程返回时,该进程以终止状态0返回
问题1:请问什么是启动例程?是main函数吗?
问题2:最后一个线程是指什么?是主线程吗?是不是上面那个调用 pthread_create 函数的线程?如果是的话,这个线程跟进程有什么区别,根据书上说,最后一个线程在启动例程里执行返回语句,进程终止,但是线程的返回值不会作为进程的返回值,我这里有弄不明白了,我上面这个程序的 最后一个线程是主线程 它在main函数中执行return 127;进程终止,根据书上说进程的退出状态应该是0 才对,但是我用 echo $? 来查看进程的退出状态 却是 127 。
请各位高手指点,书上所说的最后一个线程是指什么?最后一个线程的返回值和进程的返回区别在那里,是不是在main函数中执行的return 语句 不是线程的返回语句,而是进程的返回语句。如果是进程的返回语句,那如果要让最后一个线程在启动例程里执行返回语句 用什么方法执行呢?
那如果要让最后一个线程在启动例程里执行返回语句 用什么方法执行呢?
----------------
也用pthread_exit((void * 1));
相关问答:
由于我才刚刚接触socket编程,自己写了一个简单程序,但就是在运行的时候出现段错误,无法解决,现在我把源代码贴出来,请各位大虾指正一下!谢谢!
#include<stdio.h>
#include<stdlib.h>
#include& ......
在自己的电脑上安装了ubuntu 就是想玩一下3D桌面,于是下载了
compizconfig-settings-manager
emerald
simple-ccsm
fusion
这些东西,安装完之后,我在电脑里点击了emerald ......
在Linux中,
如果父进程调用exit(0)退出,
那么由该进程创建的两个子进程会立即退出吗???
希望围绕该问题说清楚点,谢谢了。
不会
两个子进程脱离了父进程,独立运行
父进程死掉后,其所有子孙进程被init收 ......
请大家推荐一本国内作者写的linux编程方面的书,最好有串口编程方面的。
在china-pub上搜了搜,也没发现相关的书籍。
国内作者,还真少见!
google上去搜吧 楼主 自己多搜一些对比一下
不过还是推荐读国外的 ......
怎样把一个完整的java web 工程部署到linux下,应用服务器是:weblogic?谢谢!
把调试好的web项目放到对应的服务器发布目录下就行了
帮顶。
我也正在学习Linux下部署javaweb..
放到tomcat的webapps里面不 ......