如何关闭子线程?征集析构函数与多线程的讨论!
也就是说mian函数执行完毕后,为什么.net不会释放ThreadEx对象?
using System.Threading;
public class ThreadEx : IDisposable{
private Thread thread;
private volatile bool bExit;
public ThreadEx(){
Console.WriteLine("ThreadEx output");
bExit = false;
thread = new Thread(OnThread);
thread.Start();
}
~ThreadEx(){
Console.WriteLine("~ThreadEx output");
bExit = true;
}
private void OnThread(){
while(true){
if(bExit){
break;
}
Console.WriteLine("Thread output");
Thread.Sleep(1000);
}
Console.WriteLine("Thread exit");
}
private void Close(){
bExit = true;
}
public void Dispose() {
// TODO: 添加 ThreadEx.Dispose 实现
Console.WriteLine("~Dispose output");
bExit = true;
}
static void Main(){
ThreadEx threadEx = new ThreadEx();
}
}
转载于:https://www.cnblogs.com/dannyr/archive/2007/09/28/909573.html
如何关闭子线程?征集析构函数与多线程的讨论!相关推荐
- java主线程控制子线程_CountDownLatch控制主线程等子线程执行完--Java多线程
1.[代码]CountDownLatch控制主线程等子线程执行完--Java多线程 package com.sihuatech.common; import java.util.concurrent. ...
- node开启子线程_真Node多线程
本文测试使用环境: 系统:macOS Mojave 10.14.2 CPU:4 核 2.3 GHz Node: 10.15.1 从 Node 线程说起 一般人理解 Node 是单线程的,所以 Node ...
- rust 手动关闭子线程_从零开始写 OS (9) —— 内核线程
上一篇 小源:从零开始写 OS (8) -- 创建页表zhuanlan.zhihu.com 本章代码对应 commit :de86ae6e1e8bdfe3388530f82b2081fe29e40b ...
- java子线程的创建_Java多线程基础(一):线程的创建
多线程基础 并行与并发 并发是指一个处理器同时处理多个任务. 并行是指多个处理器或者是多核的处理器同时处理多个不同的任务. 打个比方:在并发的状态下,餐厅里只有一个厨师,尽管他做事利索,餐厅的客人等待 ...
- python threading-单线程 多线程 主线程 子线程 setDeamon join
python threading-单线程 多线程 主线程 子线程 setDeamon join 单线程 多线程 主线程和子线程 setDaemon() join() 测试多线程下程序运行的时间 创建多 ...
- python多线程处理数据并获得子线程返回值
python多线程处理数据并获得子线程返回值 前言 python3中的多线程 用方法包装函数 用类包装函数 获取子线程返回值 从类中返回值 其他方法 前言 python中采用多线程方式处理大数据量的数 ...
- c++主线程等待子线程结束_简单明了的 Python 多线程来了 | 原力计划
作者 | 万里羊责编 | 王晓曼出品 | CSDN博客线程和进程计算机的核心是CPU,它承担了所有的计算任务,就像是一座工厂在时刻运行.如果工厂的资源有限,一次只能供一个车间来使用,也就是说当一个车间 ...
- python多线程的使用(导入线程模块、创建子线程任务、启动子线程任务、获取当前执行的线程号)
1. 导入线程模块 #导入线程模块 import threading 2. 线程类Thread参数说明 Thread([group [, target [, name [, args [, kwarg ...
- [Java][Android] 多线程同步-主线程等待全部子线程完毕案例
有时候我们会遇到这种问题:做一个大的事情能够被分解为做一系列相似的小的事情,而小的事情无非就是參数上有可能不同样而已! 此时,假设不使用线程,我们势必会浪费许多的时间来完毕整个大的事情.而使用线程的话 ...
最新文章
- c#中嵌入echarts_利用c#+jquery+echarts生成统计报表(附源代码)
- Scrapy定向爬虫教程(三)——爬取多个页面
- 性能测试初学_windows 计数器
- WPF窗体最小化到任务栏
- LeetCode 765. 情侣牵手(贪心)
- XML Tree Editor(树形视图XML编辑器) v0.1.0.35
- Pytorch基础(一) 初始tensor
- file_get_contents(): php_network_getaddresses: getaddrinfo failed: Name or service not known
- 使用jdbc连接数据库的步骤
- 整蛊小学妹,督促学习的html代码
- 查看Linux服务器内存情况
- 《熊出没·原始时代》首映 导演点赞宋祖儿配音
- win10安装配置elasticsearch7.6.0以及java代码初识
- python中复数类型的实部和虚部都是浮点数_Python合集之Python数据类型(一)
- 知识点滴 - 如何下载其他地区的iOS App
- 【W5500】STM32 H743驱动W5500进行UDP收发
- php ses 发送邮件,Amazon SES – 通过PHP sdk发送HTML邮件
- Android Activity的隐式调用(跨进程)★
- 你真的会用@Transactional吗?
- 【Linux】Samba服务器超详细安装、配置(附带各种问题解决方式)
热门文章
- 江西省普通高考2021艺术楼统考成绩查询,统考成绩查询
- 通过yum安装php7
- ES6 Promise - 让我们解开的面纱(遵循Promise/A+规范)
- 第14天:逻辑运算符、if、for语句
- c#通过反射移除所有事件
- android aidl和普通service
- Essential Chart for ASP.NET MVC商业图表控件相关介绍及下载
- 【转】动态模型及其求解介绍–番外篇
- [转载] 七龙珠第一部——第084话 天下第一高手
- no cortex-m sw device found_SW大模块水箱桂林厂家图纸