线程的分离状态与结合状态

  以下内容引用自:http://www.cnblogs.com/mydomain/archive/2011/08/14/2138454.html

在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached).

  • 可结合的线程能够被其他线程收回其资源和杀死;在被其他线程回收之前,它的存储器资源(如栈)是不释放的。
  • 分离的线程是不能被其他线程回收或者杀死的,它的存储器资源在它终止时由系统来释放。
  • 在默认情况下,线程是非分离状态的。如果不需要了解线程的终止状态,就让线程以分离状态启动。

不过上述状态似乎目前只在Linux下有这种分类,Windows下当前并没有注意到。

时间: 2024-11-03 22:27:00

线程的分离状态与结合状态的相关文章

线程的分离状态 detached joinable

转自  http://blog.chinaunix.net/uid-26983585-id-3315953.html 部分红色背景部分是自己添加. 其实在写上一篇日志的时候,由于我把创建线程的返回值的判断条件写错了,程序每次运行的时候都是显示创建线程失败,我就百度了一下,有人说是桟资源不足引起的,要调用一个pthread_attr_setdetachstate()函数,当时不明白为什么,其原理是什么,于是又搜了一下,下文是其原理简述: 在任何一个时间点上,线程是可结合的(joinable),或者

线程的分离状态

在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死:在被其他线程回收之前,它的存储器资源(如栈)是不释放的.相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放. 线程的分离状态决定一个线程以什么样的方式来终止自己.在默认情况下线程是非分离状态的,这种情况下,原有的线程等待创建的线程结束.只有当pthread_join()函数返回时,创建的线程才算终止,才能释放自己占用的系统

该函数设置由不同线程产生的窗口的显示状态。

using System;using System.Collections.Generic;using System.Linq;using System.Windows.Forms;using System.Runtime.InteropServices;using System.Diagnostics;using System.Reflection; namespace WindowsFormsApplication1{ static class Program { /// <summary>

线程生命周期的几种状态

(1)线程的生命周期共有六种状态(NEW, RUNNABLE,  BLOCKED, WAITING,TIMED_WAITING,TERMINATED) (2)下面是jdk8中Thread类中源码的部分内容: public static enum State { NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED; private State() { } } (3)六种状态的转换图 原文地址:https://www.cnblogs.

线程的分离与结合

原文地址:http://www.cnblogs.com/mydomain/archive/2011/08/14/2138454.html 线程的分离与结合     在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死:在被其他线程回收之前,它的存储器资源(如栈)是不释放的.相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放. 线程的分离状态决定一个线程以什么样的方式来终止自己

(转)linux多线程,线程的分离与结合

转自:http://www.cnblogs.com/mydomain/archive/2011/08/14/2138454.htm 线程的分离与结合     在任何一个时间点上,线程是可结合的(joinable),或者是分离的(detached).一个可结合的线程能够被其他线程收回其资源和杀死:在被其他线程回收之前,它的存储器资源(如栈)是不释放的.相反,一个分离的线程是不能被其他线程回收或杀死的,它的存储器资源在它终止时由系统自动释放. 设置线程分离状态的函数为pthread_attr_set

有状态 Vs 无状态

公司物联网项目集成Orleans以支持高并发的分布式业务,对于Orleans也是第一次接触,本文就分享下个人对Orleans的理解. 这里先抛出自己的观点:Orleans 是一个支持有状态云生应用/服务水平伸缩的基于Virtual Actor 模型的.NET分布式框架. 下面我会从以下几个关键点,进行阐述: 云生应用的挑战 何为有状态/无状态 什么是 Actor 模型 什么是 Virtual Actor 模型 云生应用的挑战 在讲云生应用之前,我们来先讲讲传统应用,对于传统应用常用的三层结构如下

精通有状态vs无状态(Stateful vs Stateless)—Immutable模式之姐妹篇

我相信有不少人还不明白有状态和无状态(Stateful and Stateless)的概念,那么我们今天就来谈谈有状态和无状态,一方面不断总结提高自我,另一方面兼扫盲.这是Immutable不变模式的姐妹篇,大家可以参照着读. Immutable不变模式的分析blog: http://www.iteye.com/topic/959751 基本概念: 有状态就是有数据存储功能.有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的.在不同方法调用间不保留任何状

有状态、无状态(Stateful and Stateless)

我相信有不少人还不明白有状态和无状态(Stateful and Stateless)的概念,那么我们今天就来谈谈有状态和无状态,一方面不断总结提高自我,另一方面兼扫盲.这是Immutable不变模式的姐妹篇,大家可以参照着读. Immutable不变模式的分析blog: http://www.iteye.com/topic/959751 基本概念: 有状态就是有数据存储功能.有状态对象(Stateful Bean),就是有实例变量的对象,可以保存数据,是非线程安全的.在不同方法调用间不保留任何状