C#论坛-玄机论坛-C#论坛-玄机宝盒-玄机类库-C#

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2552|回复: 11

[番外系列] 玄机论坛C#培训课程-番外篇之C#多线程

[复制链接]
  • TA的每日心情
    慵懒
    2017-12-22 10:34
  • 签到天数: 82 天

    [LV.6]【武林翘楚】

    君临 发表于 2014-10-24 22:26:10 | 显示全部楼层 |阅读模式

    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    如有疑问,请加入官方群询问

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x

    玄机网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类型的写法
       
    [C#] 纯文本查看 复制代码
    Thread th = new Thread(new ThreadStart(delegate {[/align]                GetInfo(strinfo);
                }));
                th.Start();
    
    ThreadPool   线程池.
       ThreadPool.QueueUserWorkItem(new WaitCallback(delegate {
                    GetInfo(strinfo);
                }));
    线程池是不可控制的.


    Thread.Sleep(100);  //睡眠,挂起. 参数(int)单位毫秒     是全局有效.!
    全局说的是主线程.

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

    应用场景

             Post程序,

             需要输入验证码


             先开启线程,来执行get请求.得到验证码图像,挂起这个线程.等待验证码的输入.

      lock (this)   //
        {
             
        }
    固定任务数.不固定线程数.自己计算需要多少线程


    现在这个类的好处:    帮助你理解其他人是如何处理线程的.

    两种情况   固定线程数,不固定任务数

               固定任务数,自动计算线程数

    缺点: 无法重复利用线程.





    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

    该用户从未签到

    Blogger 发表于 2014-10-25 08:33:43 | 显示全部楼层
    前来学习,感谢楼主!
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-3-7 10:46
  • 签到天数: 4 天

    [LV.2]【绿林好汉】

    inghot 发表于 2014-10-25 11:00:05 | 显示全部楼层
    这个真心不错,支持。。
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    无聊
    2017-3-20 00:16
  • 签到天数: 1 天

    [LV.1]【初入江湖】

    sillypgm 发表于 2014-10-25 13:04:49 | 显示全部楼层
    这个多线程篇,一直很期待,学习一下R是怎么处理多线程的。
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    老段啦 发表于 2014-11-6 08:31:29 | 显示全部楼层
    我已经看了2遍了
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-1-4 14:39
  • 签到天数: 1 天

    [LV.1]【初入江湖】

    不太清楚 发表于 2014-11-15 09:21:23 | 显示全部楼层
    多线程好重要的说啊,哈哈,我现在都是单线程,直接让它卡UI。。
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    jeanarysun 发表于 2014-11-18 09:36:04 | 显示全部楼层
    支持下,
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复

    使用道具 举报

    该用户从未签到

    gtosa 发表于 2014-11-22 21:38:59 | 显示全部楼层
    多线程视频第一部文件损坏。
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-3-10 15:55
  • 签到天数: 2 天

    [LV.1]【初入江湖】

    451205927 发表于 2015-5-18 09:59:11 | 显示全部楼层
    是不是C#的线程也是封装了的,不是直接调用API?
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-12-22 10:34
  • 签到天数: 82 天

    [LV.6]【武林翘楚】

     楼主| 君临 发表于 2015-5-18 15:54:58 | 显示全部楼层
    451205927 发表于 2015-5-18 09:59
    是不是C#的线程也是封装了的,不是直接调用API?

    不是直接调用API. C#有自己的类
    玄机论坛-专业的C#交流论坛 交流QQ群: 16885911
    帖子内网盘失效后请使用下面地址

    http://bbs.msdn5.com/thread-1218-1-1.html
    如果失效请联系站长重新分享
    回复 支持 反对

    使用道具 举报

    *滑动验证:
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条

    QQ|Archiver|手机版|小黑屋|玄机论坛   

    GMT+8, 2018-2-19 01:39 , Processed in 0.558353 second(s), 28 queries .

    Powered by Msdn5.com

    © 2014-2015 Msdn5 Inc.

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