作者: mcevilrock
查看: 5943|回复: 11
打印 上一主题 下一主题

【番外篇】C#多线程教程

[复制链接]
跳转到指定楼层
楼主
mcevilrock 发表于 2015-10-9 01:05:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
查看: 5943|回复: 11
课程名:
  • C#培训课程-番外篇之C#多线程

课程说明:
  • 本视频从最简单的语法声明写法到高级写法,逐步讲解C#多线程视频教程番外篇
  • 以及增加平时使用到引发的错误,及使用场景进行详细的讲解C#多线程的应用!

C#多线程教程:
最简单的线程的声明      
[C#] 纯文本查看 复制代码
            Thread th = new Thread(Func); //创建线程
            th.Start();//启动线程

            private void Func()//线程执行的方法

            {

            }

学习线程最经典的错误:
线程间操作无效: 从不是创建控件“label1”的线程访问它。
  • 小型项目如何解决跨线程访问异常:
  • Control.CheckForIllegalCrossThreadCalls = false;//忽略跨线程间的调用.不推荐大家使用.它可能会引发一些未知的异常.

创建窗口句柄时出错。
  • 引发原因: 窗体被结束,但是线程还未结束

前后台线程的区别
  • th.IsBackground = true;//当前线程为后台线程
  • 后台线程和前台线程
  • 引发一个错误: 当窗体关闭,方法内没有调用窗体控件时.虽然看着窗体已经结束,但是任务管理器中一样可以看见进程依然在运行.
  • 原因: 启用前台线程,但是UI关闭后,没有通知前台线程结束,主线程并未完全退出.因为只要有一条子线程还在运行,那么它(子线程)将阻塞主线程关闭.
  • 窗体关闭前台线程依然会继续运行.后台线程则不会.

线程的销毁时间
  • 传递非object类型的写法
  • Thread.Sleep(100);  //睡眠,挂起. 参数(int)单位毫秒     是全局有效.!
  • 全局说的是主线程.

线程暂停,恢复
  • th.Suspend();   //挂起线程
  • th.Resume();   //继续挂起的线程
  • ThreadState   //线程的状态枚举

应用场景:
  • Post程序,
  • 需要输入验证码
  • 先开启线程,来执行get请求.得到验证码图像,挂起这个线程.等待验证码的输入.
[C#] 纯文本查看 复制代码
  lock (this)   //锁
    {
         
    }
  • 固定任务数.不固定线程数.自己计算需要多少线程
[C#] 纯文本查看 复制代码
            Thread th = new Thread(new ThreadStart(delegate {
GetInfo(strinfo);
            }));
            th.Start();

            //ThreadPool   线程池.
            ThreadPool.QueueUserWorkItem(new WaitCallback(delegate {
                GetInfo(strinfo);
            }));
            //线程池是不可控制的.

现在这个类的好处:   
  • 帮助你理解其他人是如何处理线程的.
  • 两种情况:固定线程数,不固定任务数
  • 固定任务数,自动计算线程数
  • 缺点: 无法重复利用线程.

免费课程下载地址:

评分

参与人数 2金钱 +6 收起 理由
小狼Ccc + 1 很给力!
Blue_Pen + 5 赞一个!

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏3 转播转播
回复 论坛版权

使用道具 举报

来自 9#
 楼主| mcevilrock 发表于 2016-11-1 22:12:38 | 只看该作者
原内容中失效的外链在此帖补充.
百度盘:链接:http://pan.baidu.com/s/1boZu0qV 密码:ou0c
沙发
小狼Ccc 发表于 2016-2-25 22:46:10 | 只看该作者
- - 带我飞...
回复

使用道具 举报

板凳
PaulAndC 发表于 2016-9-22 13:52:25 | 只看该作者
POST必学课程,收下
地板
Kellas 发表于 2016-9-23 10:49:29 | 只看该作者
网盘链接不存在了
5#
PaulAndC 发表于 2016-9-26 09:33:29 | 只看该作者
网盘链接不存在了
6#
teammade 发表于 2016-10-6 10:36:37 | 只看该作者
网盘链接不存在,LZ能否在分享一下
7#
yinghao2005 发表于 2016-10-11 02:21:11 | 只看该作者
失效了哦
回复

使用道具 举报

8#
378864509 发表于 2016-10-20 23:58:26 | 只看该作者
谢谢版主大大分享!!!!
10#
pqqdream 发表于 2019-2-22 11:24:47 | 只看该作者
楼主链接都挂了啊
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-4-24 07:16, Processed in 0.574086 second(s), 31 queries , Gzip On.

快速回复 返回顶部 返回列表