jmeter线程组的属性_netty线程模型详解

jmeter线程组的属性_netty线程模型详解情境:最近用winform做一个小程序,主要是用来执行一些sql语句,无奈数据量太大,执行一次要二十分钟左右,执行期间界面根本不能再进行其它操作,就连最小化窗口都不行,一动就跟死机差不多了.因此到网上搜了一下,找到.net后台线程的概念.(高手请绕道!)前台线程和后台线程之间的选择.NETFramework中的所有线程都被指定为前台线程或后台线程。这两种线程唯一的区别是—后台线程不会

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

情境: 最近用winform做一个小程序,主要是用来执行一些sql语句,无奈数据量太大,执行一次要二十分钟左右,执行期间界面根本不能再进行其它操作,就连最小化窗口都不行,一动就跟死机差不多了.

因此到网上搜了一下,找到.net后台线程的概念.(高手请绕道!)

前台线程和后台线程之间的选择
.NET Framework 中的所有线程都被指定为前台线程或后台线程。这两种线程唯一的区别是 — 后台线程不会阻止进程终止。在属于一个进程的所有前台线程终止之后,公共语言运行库 (CLR) 就会结束进程,从而终止仍在运行的任何后台线程。

在默认情况下,通过创建并启动新的 Thread 对象生成的所有线程都是前台线程,而从非托管代码进入托管执行环境中的所有线程都标记为后台线程。然而,通过修改 Thread.IsBackground 属性,可以指定一个线程是前台线程还是后台线程。通过将 Thread.IsBackground 设置为 true,可以将一个线程指定为后台线程;通过将 Thread.IsBackground 设置为 false,可以将一个线程指定为前台线程。

示例:
下面的代码示例对比了前台线程与后台线程的行为。创建一个前台线程和一个后台线程。前台线程使进程保持运行,直到它完成它的 while 循环。前台线程完成后,进程在后台线程完成它的 while 循环之前终止。

jmeter线程组的属性_netty线程模型详解
using
 System;
jmeter线程组的属性_netty线程模型详解

using
 System.Threading;
jmeter线程组的属性_netty线程模型详解
jmeter线程组的属性_netty线程模型详解

class
 Test
jmeter线程组的属性_netty线程模型详解jmeter线程组的属性_netty线程模型详解


{

jmeter线程组的属性_netty线程模型详解    
static void Main()
jmeter线程组的属性_netty线程模型详解jmeter线程组的属性_netty线程模型详解    
{

jmeter线程组的属性_netty线程模型详解        BackgroundTest shortTest 
= new BackgroundTest(10);
jmeter线程组的属性_netty线程模型详解        Thread foregroundThread 
= 
jmeter线程组的属性_netty线程模型详解            
new Thread(new ThreadStart(shortTest.RunLoop));
jmeter线程组的属性_netty线程模型详解        foregroundThread.Name 
= ForegroundThread;
jmeter线程组的属性_netty线程模型详解
jmeter线程组的属性_netty线程模型详解        BackgroundTest longTest 
= new BackgroundTest(50);
jmeter线程组的属性_netty线程模型详解        Thread backgroundThread 
= 
jmeter线程组的属性_netty线程模型详解            
new Thread(new ThreadStart(longTest.RunLoop));
jmeter线程组的属性_netty线程模型详解        backgroundThread.Name 
= BackgroundThread;
jmeter线程组的属性_netty线程模型详解        backgroundThread.IsBackground 
= true;
jmeter线程组的属性_netty线程模型详解
jmeter线程组的属性_netty线程模型详解        foregroundThread.Start();
jmeter线程组的属性_netty线程模型详解        backgroundThread.Start();
jmeter线程组的属性_netty线程模型详解    }

jmeter线程组的属性_netty线程模型详解}


jmeter线程组的属性_netty线程模型详解
jmeter线程组的属性_netty线程模型详解

class
 BackgroundTest
jmeter线程组的属性_netty线程模型详解jmeter线程组的属性_netty线程模型详解


{

jmeter线程组的属性_netty线程模型详解    
int maxIterations;
jmeter线程组的属性_netty线程模型详解
jmeter线程组的属性_netty线程模型详解    
public BackgroundTest(int maxIterations)
jmeter线程组的属性_netty线程模型详解jmeter线程组的属性_netty线程模型详解    
{

jmeter线程组的属性_netty线程模型详解        
this.maxIterations = maxIterations;
jmeter线程组的属性_netty线程模型详解    }

jmeter线程组的属性_netty线程模型详解
jmeter线程组的属性_netty线程模型详解    
public void RunLoop()
jmeter线程组的属性_netty线程模型详解jmeter线程组的属性_netty线程模型详解    
{

jmeter线程组的属性_netty线程模型详解        String threadName 
= Thread.CurrentThread.Name;
jmeter线程组的属性_netty线程模型详解        
jmeter线程组的属性_netty线程模型详解        
for(int i = 0; i < maxIterations; i++)
jmeter线程组的属性_netty线程模型详解jmeter线程组的属性_netty线程模型详解        
{

jmeter线程组的属性_netty线程模型详解            Console.WriteLine(
{0} count: {1}
jmeter线程组的属性_netty线程模型详解                threadName, i.ToString());
jmeter线程组的属性_netty线程模型详解            Thread.Sleep(
250);
jmeter线程组的属性_netty线程模型详解        }

jmeter线程组的属性_netty线程模型详解        Console.WriteLine(
{0} finished counting., threadName);
jmeter线程组的属性_netty线程模型详解    }

jmeter线程组的属性_netty线程模型详解}


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183321.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Centos7安装nginx1.8.0步骤

    Centos7安装nginx1.8.0步骤前言Nginx(enginex)是一个高性能的HTTP和反向代理web服务器nginx安装环境》nginx是C语言开发,建议在linux上运行,本教程使用Centos7作为安装环境。gcc安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,(一)安装gcc:yuminstallgcc-c++PCREPCRE(PerlCompatibleRegularExpressions)是一个Perl库,包括perl兼容的正则表达式库。ng

    2022年6月6日
    68
  • vuecli安装_vuecli搭建流程

    vuecli安装_vuecli搭建流程前言vue-cli是和vue进行深度组合的工具,可以快速帮我们创建vue项目,并且把一些脚手架相关的代码给我们创建好。真正使用vue开发项目,都是用vue-cli来创建项目的。vue-cli介绍

    2022年7月30日
    8
  • 数据库关系代数除法意义_关系代数运算除法

    数据库关系代数除法意义_关系代数运算除法除法运算的定义:这个概念的描述的非常抽象,刚开始学习的同学完全不知所云。这里通过一个实例来说明除法运算的求解过程设有关系R、S如图所示,求R÷S的结果求解步骤过程:第一步:找出关系R和关系S中相同的属性,即Y属性。在关系S中对Y做投影(即将Y列取出);所得结果如下第二步:被除关系…

    2025年8月1日
    2
  • JAVA Exception和IOException之间的使用区别

    JAVA Exception和IOException之间的使用区别使用Exception可以保证捕获异常后能继续维持JVM的运行如果Exception换成IOException后,一旦出现IO异常,便会捕获停止运行.“IoException“(流异常,通常用在文件读取中)是”Exception”(用在所有的异常处理中)的一个分支,也就是说“Exception”的范围更大。解释:通过java中在捕获异常的时候需要先捕获“子异常”(范围小,如流异常),之……

    2022年7月16日
    13
  • SpringCloud服务注册中心双节点集群(Eureka集群)

    SpringCloud服务注册中心双节点集群(Eureka集群)0、前言    最近在进行重构一个新项目,为了后续更好的落地,适应于日新月异的技术更新,进行了各方的技术选型及技术预研,最终选型基于微服务架构体系进行开发重构。项目构建前最重要的一步就是要想清楚,整体的部署架构、高可用性(HA)等等,做好前期的部署架构技术调研,确定最终方案。    在微服务架构体系中,核心技术便是SpringCloud,通过登录官网查看SpringClo…

    2022年6月11日
    30
  • golang激活码破解方法

    golang激活码破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    331

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号