代码之家  ›  专栏  ›  技术社区  ›  Amir Zadeh

关于僵尸进程和线程的问题

  •  6
  • Amir Zadeh  · 技术社区  · 15 年前

    2) 我们有操作系统已知的程序主线程吗?我的意思是操作系统给程序的第一个线程一些有益的权利还是什么?

    1 回复  |  直到 15 年前
        1
  •  5
  •   Duck    15 年前

    首先,不要杀死或取消线程,让它们自杀。如果你从外部杀死一个线程,你永远不知道会留下什么副作用——变量、同步原语的状态等等。如果您发现一个线程必须终止另一个线程,那么让有问题的线程检查一个开关,捕获一个信号,然后在退出自身之前清除其状态。

    1) 如果不可取消,则表示已分离,与连接的线程相同。你不知道如果你盲目地杀掉它,你会留下什么烂摊子。

    2) 从应用程序级的观点来看,主要的事情是,如果主线程退出()或返回(),它将带走所有其他线程。如果主线程使用pthread_exit()终止自身,则其余线程继续。

    注意:线程不共享它们各自拥有的堆栈。见 clone() 关于线程创建的一些信息。