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

进程中创建的线程,线程如何终止的

    来源: 互联网  发布时间:2017-01-06

    本文导语:  i am one thread! i am one thread! i am one thread! i am one thread! i am one thread! i am one thread! back to the main funciton! i am the main! [root@Robot 2]#    1 #include    2 #include    3 #include    4 #include    5 #include    6 ...

i am one thread!
i am one thread!
i am one thread!
i am one thread!
i am one thread!
i am one thread!
back to the main funciton!
i am the main!
[root@Robot 2]#   
1 #include   
2 #include   
3 #include   
4 #include   
5 #include   
6 #include   
7 #include   
8 #include   
9 #include  
10 #include  
11  
12 void *my1(void) 
13 { 
14     int fd; 
15     while(1) 
16     { 
17         printf("i am one thread!n"); 18     }                                                                    
19 } 
20  
21 int main(void) 
22 { 
23     pthread_t id1; 
24     pthread_create(&id1, NULL, (void *)my1, NULL); 
25     printf("back to the main funciton!n"); 
26     printf("i am the main!n"); 
27     return 0; 
28 }
为什么我在线程中执行while(1)这个循环,最后线程自己退出了呢??认为线程把进程的资源用的差不多了,进程把线程给终止了,这样子对吗??程序执行到pthread_create(&id1, NULL, (void *)my1, NULL);之后不是去执行线程的代码了吗?
在线程中死循环的话,怎么又返回到进程中去了。 

|
int pthread_kill(pthread_t thread, int sig)

|
然后pthread_cancel

|
因为主线程退出相当于进程exit。

所以主线程最好pthread_join阻塞在那里,线程最好主动退出,不主动就cancel之再join。

|
#include 
#include 
#include 
using namespace std;

void* pFunc(void*)
{
        while(1)
        {
                cout

    
 
 

您可能感兴趣的文章:

  • 主进程有两个线程,fork子进程后复制主进程两个线程的内存么?
  • 如何实现这样的API,可同时被不同的进程/线程使用,但是又不区分进程/线程?
  • 请问:进程创建的线程是怎样运行的啊,线程的处理函数运行完了,线程就退出了吗?
  • 如果父进程有多个线程,那么它的子进程也该拥有这些线程
  • 一个进程创建了两个线程,如何使得当任何一个线程(比如线程a)结束时,同时也结束线程b,也就是使两个线程一起死掉,怎么办呢?
  • 如何让子进程继承父进程的线程
  • 请问,在一个进程中创建多线程时如何能避免不同的线程获得同一个线程标识
  • 在一个进程的主线程中如何判断自己创建的线程是否存在?
  • Linux中最多同时可以开多少个进程,一个进程可以开多少个线程?
  • 请教:线程中调用一个阻塞的方法后,进程及其它线程会阻塞么?
  • 请问在单进程,多线程程序里,线程间使用IPC的信号量来同步,能行吗?
  • linux线程与进程的问题
  • 在程序中启动一个进程(不是线程),如何知道该进程已运行结束
  • 如何准确理解“程序”、“进程”、“线程”这三个概念
  • 进程和线程的区别
  • 请问:linux下的子进程与线程的区别
  • linux进程(线程)运行过程中如何获取本进程当前的内存使用状况,统计信息?
  • socket+多进程+多线程
  • sleep是进程域还是线程域的?
  • 线程上下文切换和进程上下文切换那个代价大?
  • 守护进程中创建进程总是自行结束了?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 进程创建进程组后,然后创建该组中的进程,然后终止。这里的终止....?
  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • 怎样实现:任意一个线程终止,就终止整个进程?
  • 如何实现子进程根据父进程的信号来确定是否终止子进程???
  • 关于进程的终止问题
  • 某daemon进程运行一段时间后接受到不知何地的终止信号导致进程退出,何解?
  • 终止pid=1的init进程会出现什么现象?
  • Unix 进程 自动 终止的原因
  • 简述进程的启动、终止方式。
  • redhad linux9.0 的命令行中如何终止(杀死)一个服务器进程?
  • Mysql 本地计算机无法启动 mysql 服务 错误 1067:进程意外终止。
  • linux下如何终止一个process group的所有进程
  • 为什么我等待一个子进程的终止总是等待失败啊?
  • alpha VMS系统中.exe文件的启动、终止和如何防止同时运行一个进程两次
  • 在父进程终止以后子进程为什么不能接受控制终端的信号
  • 如何才能终止一个已经PID子进程的执行
  • 怎么实现父进程不管被Kill掉还是自己错误而退出,子进程都不会受影响而被终止
  • 为什么linux下sshd被kill会导致所有子进程被终止
  • 关于进程终止状态的问题!
  • 深入分析父子线程、进程终止顺序不同产生的结果
  • linux僵尸(zombie)进程介绍及清除
  • 进程Afork进程B,进程Bfor进程C,如果进程C退出发出SIGCHLD,A进程是否可以收到
  • Ubuntu查看内存,进程相关命令介绍
  • 在多进程中父进程frok子进程,怎样让子进程自举,脱离父进程,而且父进程不退出
  • linux下进程占用内存空间详解
  • fock()开出的子进程的进程ID是否进程ID都大于父进程的?
  • linux和unix iis7站长之家
  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问
  • android 4.0 托管进程介绍及优先级和回收机制
  • 多进程问题 子进程读取内容 读完挂起,父进程写 写入后唤醒子进程
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)


  • 站内导航:


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

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

    浙ICP备11055608号-3