当前位置: 首页 > news >正文

C# 窗体应用(.FET Framework) 线程操作方法

一、Thread线程使用方法

  1. 初始化方法
Thread th1;
th1 = new Thread(方法名);
th1.IsBackground = true;
th1.Start();
  1. 传参
///定义一个object接受参数的方法
private void Test(object n){
    string str1 = n as string;
MessageBox.Show(str1);
}

// 调用方法
Thread th2
string str1 = “我是线程2;
th2 = new Thread(Test);
th2.isBackground = true;
th2.Start(str1);  // 这边在启动的时候传递参数
  1. 加入线程池
ThreadPool.QueueUserWorkItem(方法名);
  1. 关闭线程
Private void Form1_FormClosing(){
   th1.Abort();
}

二、ThreadPool 线程使用方法

ThreadPool.QueueUserWorkItem((str)=> {代码块}, “线程参数”);

三、解决跨线程调用组件

  1. 使用一行代码解决(代码多不推荐)
// 在 Form1() 方法中加入以下代码
CheckForIllegalCrossThreadCalls = false;
  1. 在线程调用的方法中组件使用委托
组件.BeginInvoke(new Action<变量类型>((变量)=>{代码块}), 形参);
textBox1.BeginInvoke(new Action<string>((str) => {
    textBox1.Text += str;
}), "111111\r\n");

相关文章:

  • spring boot 整合redis
  • JAVA设计模式之适配器模式《太白金星有点烦》
  • 百度文库免费下载器
  • 【算法day28】解数独——编写一个程序,通过填充空格来解决数独问题
  • 聊一聊,元件封装知多少?
  • 数据结构C语言练习(两个栈实现队列)
  • go游戏后端开发19:创建房间
  • 机器人基础知识-2
  • 万字知识篇(2):SpringBoot的常用注解(上)
  • C++学习笔记(三十三)——forward_list
  • zk基础—2.架构原理和使用场景二
  • 数字图像处理实验报告7-图像压缩编码
  • Python 责任链模式
  • 蓝桥云客 2022
  • 坚持的力量与智慧策略
  • cv2.fillPoly()和cv2.polylines()
  • 【分布式】Hystrix 的核心概念与工作原理​
  • Java的设计模式详解
  • 【数论4】求解线性同余方程和方程组
  • FPGA | 等精度测频应用与实践
  • 深圳做网站的公司那个好/济南做网站建设的公司
  • 网站开发计入什么费用/软文形式推广产品
  • 龙海网站制作/最权威的品牌排行榜网站
  • 企业网站建设的案例/建站企业网站
  • 建网站挣钱 优帮云/会计培训班哪个机构比较好
  • wordpress教程全集(入门到精通)/整站seo技术