关闭

C#学习笔记之线程调用带参数的方法

103人阅读 评论(0) 收藏 举报
分类:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;


namespace 线程调用多个参数的方法
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        // 声明一个集合对象,存储代入线程的参数
        List<int> list = new List<int>();


        Thread th = null;
        private void button1_Click(object sender, EventArgs e)
        {
            th = new Thread(Add);   // 创建线程
            th.IsBackground = true; // 设为后台线程


            // 线程只能传递一个参数,如果想传入多个参数,可以将参数放入集合中。
            th.Start(list);         
        }


        // 线程调用函数中的参数只能是object类型。
        public void Add(object list)
        {
            List<int> list2 = (List<int>)list;


            int sum = 0;
            for (int i = 0; i < list2.Count; i++)
            {
                sum += list2[i];
            }
            textBox1.Text = sum.ToString();
        }


        private void Form1_Load(object sender, EventArgs e)
        {
            // 设置取消线程间访问的限制
            Control.CheckForIllegalCrossThreadCalls = false;


            // 将线程需要的参数添加到集合中
            list.Add(22);
            list.Add(33);
            list.Add(44);
        }
    }
}
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:17167次
    • 积分:1203
    • 等级:
    • 排名:千里之外
    • 原创:108篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条