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. datagridview自动增加行高度和显示全部内容

    this.dataGridView1.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCellsExceptHeaders;  //自动调动dat ...

  2. svn合并

    1.先去 aone里我的变更 里 重建 新分支 相当于重主干上拉代码下来2.然后再去 原来的分支里 swich切换到新分支3.在原来的分支里 merge 到新分支的url4.选择最早的 version ...

  3. Java基础之创建窗口——向窗口中添加菜单(Sketcher)

    控制台程序. JMenuBar对象表示放在窗口顶部的菜单栏.可以为JMenuBar对象添加JMenu或JMenuItem对象,它们都显示在菜单栏上.JMenu对象是带有标签的菜单,单击就可以显示一列菜 ...

  4. PostgreSQL rule view materialized view examples

    warehouse_db=# create table tab_view(emp_id int not null,emp_name varchar(10),emp_city varchar(10)); ...

  5. oracle,sqlserver,mysql 命令行 开启、关闭所需要的服务

    ORACLE需要开启的服务   需要启动的服务:   口令: 启动Oracle 11g服务: (下面的可以作为bat 脚本,直接运行便可以不用去自己去启动和关闭服务了.) @echo off @ EC ...

  6. PHP isset()与empty()的使用区别详解

    通过对PHP语言的学习,应该知道它是基于函数的一款HTML脚本语言.庞大的函数库支持着PHP语言功能的实现.下面我们为大家介绍有关PHP函数isset()与empty()的相关用法.   PHP的is ...

  7. SpringMvc:视图和视图解析器

    请求处理方法执行完成后,最终返回一个ModelAndView对象,对于返回String,View或ModelMap等类型的处理方法,SpringMvc也会在内部将它们装配成一个ModelAndView ...

  8. JavaOOP QuickHit项目分析

    项目需求:游戏等级6级,随机字符串每级长度不同.每升一级减少比较次数,但是字符串长度相应增加!每级总分数不同,如果游戏中途输入错误则游戏退出!玩家每次在规定时间内输入字符串的同时,打印出游戏难度等级. ...

  9. Android 发送短信与接收短信

    package com.example.testsms; import android.app.Activity; import android.app.PendingIntent; import a ...

  10. . ToString(),Convert.ToString(),(string),as比较:

    http://www.cnblogs.com/chehaoj/archive/2010/02/23/1671955.html 通常 object 到 string 有四种方式(假设有object ob ...