public Form1()
{
InitializeComponent();
}
Thread t;
private void button1_Click(object sender, EventArgs e)
{
int num = int.Parse(this.textBox1.Text);
int num2 = int.Parse(this.textBox2.Text);
duo a = new duo();
a.num1 = num;
a.num2 = num2;
t = new Thread(test); t.IsBackground = true;
t.Start(a); } private void test(object num)
{
duo a = num as duo; //int n = 0;
//while (n < 10000)
//{ // n++;
// this.textBox1.Text = n.ToString(); //}
int n = a.num1;
int b = a.num2; this.label1.Text = Convert.ToString((n + b) * b / 2); } private void Form1_Load(object sender, EventArgs e)
{
Control.CheckForIllegalCrossThreadCalls = false;
} private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{ }
}

  

数组

public partial class Form1 : Form
{ public Form1()
{
InitializeComponent();
}
Thread t;
private void button1_Click(object sender, EventArgs e)
{
int num = int.Parse(this.textBox1.Text);
int num2 = int.Parse(this.textBox2.Text);
int[] a = new int[] { num,num2};
t = new Thread(test); t.IsBackground = true;
t.Start(a); } private void test(object num)
{
int[] nums=(int[])num; //int n = 0;
//while (n < 10000)
//{ // n++;
// this.textBox1.Text = n.ToString(); //}
int n = nums[0];
int b = nums[1]; this.label1.Text = Convert.ToString((n + b) * b / 2); } private void Form1_Load(object sender, EventArgs e)
{
Control.CheckForIllegalCrossThreadCalls = false;
} private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{ }
}

  

集合

public partial class Form1 : Form
{
List<int> add = new List<int>(); public Form1()
{
InitializeComponent();
}
Thread t;
private void button1_Click(object sender, EventArgs e)
{
add.Clear();
int num = int.Parse(this.textBox1.Text);
int num2 = int.Parse(this.textBox2.Text);
add.Add(num);
add.Add(num2); t = new Thread(test); t.IsBackground = true;
t.Start(add); } private void test(object num)
{
//int nums=(int)num;
List<int> nums = (List<int>)num; //int n = 0;
//while (n < 10000)
//{ // n++;
// this.textBox1.Text = n.ToString(); //}
int n = nums[0];
int b = nums[1]; this.label1.Text = Convert.ToString((n + b) * b / 2); } private void Form1_Load(object sender, EventArgs e)
{
Control.CheckForIllegalCrossThreadCalls = false;
} private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{ }
}

  

C#之参数线程的更多相关文章

  1. c#创建带参数的线程

    1.无参数线程的创建 Thread thread = new Thread(new ThreadStart(getpic)); thread.Start(); private void showmes ...

  2. JUC 并发编程--08,线程池,三大方法,七大参数,4种拒绝策略,代码演示

    三大方法: //线程池核心线程数为n, 最大线程数为 n ExecutorService fixedThreadPool = Executors.newFixedThreadPool(n); 源码: ...

  3. 聊下并发和Tomcat线程数(错误更正)

    本文前半部分结论存在严重错误,请看最后2015-1-20更新部分. 最近一直在解决线上一个问题,表现是: Tomcat每到凌晨会有一个高峰,峰值的并发达到了3000以上,最后的结果是Tomcat线程池 ...

  4. windows核心编程 - 线程基础

    一.基本概念: 一个进程至少需要一个线程. 组成:一个线程包括仅包括一个线程堆栈和一个线程内核对象 线程堆栈:用于维护线程在执行代码时需要的所有函数参数和局部变量 线程内核对象:操作系统用它来对线程实 ...

  5. 【Swing】理解Swing中的事件与线程

    talk is cheap , show me the code. Swing中的事件 事件驱动 所有的GUI程序都是事件驱动的.Swing当然也是. GUI程序不同于Command Line程序,一 ...

  6. Linux线程学习(一)

    一.Linux进程与线程概述 进程与线程 为什么对于大多数合作性任务,多线程比多个独立的进程更优越呢?这是因为,线程共享相同的内存空间.不同的线程可以存取内存中的同一个变量.所以,程序中的所有线程都可 ...

  7. C# 线程--第一单线程基础

    概念 什么是进程? 当一个程序被打开运行时,它就是一个进程.在进程中包括线程,进程可以由一个或多个线程组成. 什么是线程? 线程是程序执行流的最小单元.一个标准的线程由线程ID,当前指令指针(PC), ...

  8. java-多线程-join函数

    join()>>不带参数 线程A调用线程B.join,意思就是线程A并入了线程B,当执行完线程B,再去执行线程A后续动作 join(int keepTims)>>带参数,与上面 ...

  9. 关于windows线程同步的四种方法

    #include "stdafx.h" #include "iostream" #include "list" #include " ...

随机推荐

  1. 解决plsql工具不能用中文字进行模糊匹配

    今天碰到了 select * from table1 t where t.name like '模块a' 查不出数据 而select * from table1 t where t.name like ...

  2. tableview的cell点击和取消

    #pragma mark - 选择cell: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPa ...

  3. G面经prepare: Set Intersection && Set Difference

    求两个sorted数组的intersection e.g. [1,2,3,4,5],[2,4,6] 结果是[2,4] difference 类似merge, 分小于等于大于三种情况,然后时间O(m+n ...

  4. [转]java工程师成神之路

    转载http://www.hollischuang.com/archives/489https://linux.cn/article-6739-1.html 一.基础篇 1.1 JVM 1.1.1. ...

  5. C++新手之培养良好的编程风格

    内功深厚的武林高手出招往往平淡无奇.同理,编程高手也不会用奇门怪招写程序.良好的编程风格是产生高质量程序的前提. 下面以C++为例,来给大家介绍. 一. 命名约定 有不少人编程时用拼音给函数或变量命名 ...

  6. linux-批量重命名脚本

    #!/bin/bash # rename jpg and png count= for img in *.jpg *.png do new=image-$count.${img#*.} mv > ...

  7. 夺命雷公狗---node.js---2node.js中的npm的常用命令

    npm install <name> 安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本 ...

  8. 怎么学习C++?

    一个学习十年c++的建议如下: 其实学习C++的读书顺序应该是这样的(对于有C基础的朋友): C++ Primer Effective C++ Exceptional C++ Inside the C ...

  9. html5,表格

    <table border="1"><caption>表格的实例</caption><tr><td>单元格</td ...

  10. 轻量linux-Crunch bang

    主页地址:http://crunchbang.org crunch bang11昵称 wheezy crunchbang 11 基于 debian7