码迷,mamicode.com
首页 > 编程语言 > 详细

番外篇之多线程

时间:2014-10-27 10:38:43      阅读:171      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   io   os   ar   使用   for   

 

视频一:线程的介绍及线程的基本语法

           1.线程的创建
               Thread th = new Thread(Func);//创建线程
               th.Start();//启动线程
               private void Func()//线程执行的方法
               {///填写方法
               }

            2.学习线程最经典的错误

                2.1线程间操作无效:从不是创建控件“label1”的线程访问它。

                     解决方案:忽略异常,跨线程操作。 Control.CheckForIllegalCrossThreadCalls = false;//忽略跨线程间的调用,不推荐大家使用,它可能会引发一些未知的异常。

                 2.2创建窗口句柄时出错

                      引发原因:窗口被结束,但是线程还未结束。

                  2.3 th.IsBackground = true;//当前线程为后台线程

                        经常引发一个错误,当窗体关闭,方法内没有调用窗体控件时,虽然看着窗体已经结束,但是任务管理器中一样可以看到进程依然存在在运行。

                         原因:启用后台线程,但是UI关闭后,没有通知后台线程结束,主线程未完全退出,因为只要有一条子线程还在运行,那么它(子线程)将阻塞主线程关闭。

bubuko.com,布布扣
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Threading;
using System.Windows.Forms;

namespace 番外篇之多线程
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            Control.CheckForIllegalCrossThreadCalls = false;//忽略跨线程间的调用,不推荐大家使用,它可能会引发一些未知的异常
        }

        private void Form1_Load(object sender, EventArgs e)
        {
           
        }
        private void Func()//线程执行的方法
        {
            for (int i = 0; i < 100000; i++)
            {
                label1.Text = i.ToString();
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Thread th = new Thread(Func);//创建线程
            th.IsBackground = true;//当前线程为后台线程
            th.Start();//启用线程
        }
    }
}
View Code

 

视频二:线程的高级写法接受任意参数

               

                

番外篇之多线程

标签:style   blog   http   color   io   os   ar   使用   for   

原文地址:http://www.cnblogs.com/Andrew2014/p/4053459.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!