• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >C#教程 > C#中的多线程多参数传递详解

C#中的多线程多参数传递详解

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-28

通过本文主要向大家介绍了c#线程传递参数,c#线程间传递数据,c#多线程传递参数,c#多线程,c#线程等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

之前做了一个小的应用程序,用的是c#语言,涉及到了多线程的多参数传递,经过查找资料总结了一下解决方案!

第一种解决方案的原理是:将线程执行的方法和参数都封装到一个类里面。通过实例化该类,方法就可以调用属性来实现间接的类型安全地传递多个参数。看如下代码:

//ThreadWithState 类里包含了将要执行的任务以及执行任务的方法
public class ThreadWithState {
//要用到的属性,也就是我们要传递的参数
private string boilerplate;
private int value;

//包含参数的构造函数
public ThreadWithState(string text, int number)
{
boilerplate = text;
value = number;
}

//要丢给线程执行的方法,本处无返回类型就是为了能让ThreadStart来调用
public void ThreadProc()
{
//这里就是要执行的任务,本处只显示一下传入的参数
Console.WriteLine(boilerplate, value);
}
}
</div>
----------分隔线-----------

// 创建执行任务的线程,并执行
Thread t = new Thread(new ThreadStart(tws.ThreadProc));
t.Start();
Console.WriteLine(“Main thread does some work, then waits.”);
t.Join();
Console.WriteLine(
“Independent task has completed; main thread ends.”);
}
}
</div>
从上面的例子就能很清楚的得到我们想要的结果,注意这句代码的用法:
Thread t = new Thread(new ThreadStart(tws.ThreadProc));

第二种解决方案的原理是把多个参数封装成object来传递,然后在线程里使用时拆箱即可,看如下代码:
</div>

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • C#往线程里传递参数的方法小结
  • C#多线程传递参数及任务用法示例
  • C#传递参数到线程的方法汇总
  • C#中的多线程多参数传递详解
  • c#线程间传递参数详解

相关文章

  • 2017-05-28C#抽象类和接口的区别分析
  • 2017-05-28C#版Windows服务安装卸载小工具
  • 2017-05-28c#基础学习之多态
  • 2017-05-28C#实现将json转换为DataTable的方法
  • 2017-05-28C#中事件的动态调用实现方法
  • 2017-05-28C#生成唯一值的方法汇总
  • 2017-05-28深入Resource实现多语言支持的应用详解
  • 2017-05-28C#实现随鼠标移动窗体实例
  • 2017-05-28C#实现输入法功能详解
  • 2017-05-28Visual C#.Net 网络程序开发-Socket篇第1/2页

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • C#中判断字符串是全角还是半角的实现代码
    • c#生成随机数示例分享
    • C#打印类PrintDocument、PrintDialog、PrintPreviewDialog使用示例
    • 在winform下实现左右布局多窗口界面的方法
    • C#调用Nero SDK刻录光盘的方法
    • C#操作本地文件及保存文件到数据库的基本方法总结
    • C#实现微信公众号群发消息(解决一天只能发一次的限制)实例分享
    • Log4Net 日志配置[附带源码下载]
    • 详解C#中 Thread,Task,Async/Await,IAsyncResult的那些事儿
    • C#无损转换Image为Icon的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有