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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Spring IOC 之解析 bean 标签:开启解析进程,BeanDefinition

    Spring IOC 之解析 bean 标签:开启解析进程,BeanDefinitionSpring IOC 之解析 bean 标签:开启解析进程,BeanDefinition

    2022年4月20日
    53
  • PHP怎么获取系统信息和服务器详细信息

    PHP怎么获取系统信息和服务器详细信息

    2021年10月8日
    44
  • File中createNewFile()和createTempFile()区别[通俗易懂]

    1、createTempFile():FilesampleDir=newFile(Environment.getExternalStorageDirectory().getAbsolutePath()+”/FMRecording”);mSampleFile=File.createTempFile(“FMRecording”,”.m4a”,sampleDir);主要的

    2022年4月11日
    263
  • VMM callback「建议收藏」

    VMM callback「建议收藏」vmm的callback调用的是基类,而不是扩展类。这样做的目的,就是不修改原程序结构的基础上来增加或者替换内容,大大的提高了重用性。修改的内容在扩展类中增添。这种思想应该来源于SV中的虚方法,虚方法可以重写其所有基类中的方法,然普通的重写只能在本身及其扩展类中有效。这样就可以调用基类的时候,访问到扩展类中对基类中虚函数的重写。由虚函数发展到虚类,虚类是一个定义抽象概念的类模板,不可以实…

    2022年9月22日
    5
  • Oracle连接查询,彻底搞懂外连接(左外连接&右外连接)

    Oracle连接查询,彻底搞懂外连接(左外连接&右外连接)Oracle连接查询有3种:交叉连接、内连接、外连接。交叉连接结果是其他连接结果的超集,外连接结果是内连接结果的超集。接下的例子以departments_v、employees_v两个视图数据为例(4条部门数据,9条人员数据)1.交叉连接:又称笛卡尔积连接,是两个或多个表间的无条件连接,因此它会将表1的每一条数据与表2的每一条数据连接,因此结果会有4*9=36条数据

    2022年5月5日
    283
  • 常量池与运行时常量池的区别_运行时常量池存放什么

    常量池与运行时常量池的区别_运行时常量池存放什么*转载自[java虚拟机:运行时常量池](https://www.cnblogs.com/xiaotian15/p/6971353.html)———-一、运行时常量池简介运行时常量池(RuntimeConstantPool),它是方法区的一部分。Class文件中除了有类的版本、字段、方法、接口等描述等信息外,还有一项信息是常量池(ConstantPoolTable),用于…

    2025年10月11日
    1

发表回复

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

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