当前位置:  技术问答>linux和unix

不是说等到最后一个线程退出进程才会结束么?(Linux)

    来源: 互联网  发布时间:2016-09-21

    本文导语:  我的代码: #include  #include  #include  #include  void* prun(void *); int main (int argc, char* argv[]) {         pthread_t pid;         pthread_create(&pid, NULL, prun, NULL);         printf("main thread overn"); } void* prun ...

我的代码:

#include 
#include 
#include 
#include 




void* prun(void *);



int main (int argc, char* argv[])
{
        pthread_t pid;
        pthread_create(&pid, NULL, prun, NULL);
        printf("main thread overn");
}

void* prun (void* param)
{
        printf ("new started,wating ...n");
        sleep(10);
        printf ("thread overn");
}



子线程刚开始主线程就结束,进程也结束了,只输出了main thread over,输入描述符全都被回收了,缓冲区也输出了。

|
主线程结束,整个进程就结束了。可以使用pthread_join等待子线程结束

|
在主线程中用pthread_join等待子线程结束。

|
应该在主线程使用pthread_join等待子线程结束

|
你的这种需求只能用进程实现:主进程退出,子进程可以继续执行。
如果用线程的话,则必须保证线程所在的进程不能结束。

    
 
 

您可能感兴趣的文章:

  • 关于线程的问题,什么样的线程不是active线程?
  • java里有没有象vc里的sleep(1000)一样的功能的东西 当然不是实现Runnable不是继承线程类
  • recvfrom是不是线程安全的?
  • linux下sem_init是不是线程安全的函数
  • 对于多线程而言,errno是不是不可靠啊?有什么解决办法没?
  • linux FC8,sync函数是不是线程安全的?
  • linux线程最大数,奇怪,怎么只有300?而且线程是用完就没了,不是同时300啊!
  • “分布式”是不是指“多线程”?
  • 求教JAVA中的延时函数!不是用于线程中的!
  • 在程序中启动一个进程(不是线程),如何知道该进程已运行结束
  • 请问我是不是该用进程或线程呢?
  • [高分求解]tomcat 4.0.X中servlet是不是不能启动一个新的线程?如果可以,该如何做?
  • 内核中的timer是不是可以理解为多线程,我想对一段代码加锁,如何实现,有没有可用的内核函数?
  • 请问我在jsp中启动的线程是不是随着页面的生成就自动结束了?(在线等着)
  • 谁能告诉我,做一个象网易那样的聊天室,用什么方法,不要告诉我是用数据库或读写文件,是不是用多线程,socket协议。来讨论者皆有分。
  • 多个线程用一个管道通信,不是异常就是无限等待,请指点。
  • vmware下是不是能用pthread进行多线程开发
  • kill掉一个进程时,其父进程是不是一定能感知到
  • 通过c程序写代码怎么查看进程是不是存在了?怎么查看该进程占用的内存是多少?
  • 怎样一次杀掉父进程创建的所有子进程?我在父进程中用kill(0,SIGKILL),结果父进程也给干掉了,参数0难道不是表示除自己外的所有同uid的进
  • 关于内核进程和用户层命令不是很理解?
  • 进程信号是不是也是socket?
  • 请问谁知道子进程用wait结束是不是相当于顺序执行啊!
  • 创建一个子进程,什么时候该用clone()而不是fork()?
  • 杀死一个进程是不是它所有的分配内存都释放了?
  • 等待IO时,进程是不是一定被切换到 "等待IO"的状态上去 iis7站长之家
  • LINUX 守护进程是不是就是WINDOWS的服务进程? 如何写呢?
  • fork创建进程后,代码空间是不是会减少?
  • 关于vfork()问题,为什么其对父进程共享的变量的操作结果不是预期的?请高手指点,多谢了
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 在看《Linux程序设计》(《BeginningLinuxProgramming》)这本书看得有点烦。书里有些东西是不是等到用时才去看呢?
  • java 能做什么系统?CS是不是不行呀?开发效率岂不是很低
  • ●J2SDK和JDK是不是一个东西?如果不是,那它是什么?●
  • 在内核为2.4版本下开发的程序在2.6下编译是不是很容易会发生错误?不是应该往上兼容吗?
  • 急!!谁了解macintosh?能不能给我介绍介绍?是不是跟linux差不多?使用开发工具JDK,这是不是不JAVA?
  • 关于FIFO算法的问题(是不是页面“命中”和“淘汰”的页面不是的唯一啊
  • 看看会输出什么?结果是equal b,==在string里不是比较两个串是不是相等嘛?
  • Javamail要JavaBeans Activation Framework 的支持,是什么意思?是不是也要下载JavaBeans Activation Framework?他是不是也是一个包?是不
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • 我的jdk配置有问题吗?为什么提示总是‘javac’不是内部或外部命令,也不是可运行的程序或批处理文件
  • vasual cafe 中有个包叫symantec,它是不是标准的j2se包,如果不是,用它写出的程序如何在通用?
  • 请问:我怎么样使得输入"GCC"以后执行的是新安装的新版本的GC,而不是旧的!以及我的操作是不是正确?
  • 网站的站内搜索是怎么实现的?怎么做?在网页的头元素中有一关键词元素,是不是就是给站内搜索用的?如果我在Sina中登记我的网站,那么是不是
  • java中有没有这样的函数就是判断一个字符串里面是不是含有另外一个字符串!例如 abcdef 里面查找是不是含有de谢谢了~初学者
  • 请问:在GCC里的C程序里的变量的声明是不是只能在前面,而且相同类型的变量的声明只能放在一起?如果不是,请问怎么样可以解决这个问题.
  • 请教!UNIX是不是很难啊
  • 如何默认启用vim而不是vi
  • mplayer 源代码中的API是什么API呀,不是QT呀?是什么呢?
  • Shell中是不是只有“空串”没有NULL?
  • locate是不是不搜寻/tmp下面的文件
  • 实现snmp时mib文件是不是必须的?


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3