zoukankan      html  css  js  c++  java
  • c#基础: 线程的初级用法总结

    启动一个线程的两种方法:                                                                                                                                                                                                                                                                                    

        a、使用无参的方法
          Thread thread1 = new Thread(new ThreadStart("调用的方法名"));
          thread1.Start();
          //  调用此方法的线程上会抛出ThreadAbortException异常
          thread1.About();
        b、使用有参的方法
          Thread thread2 = new Thread(new ParameterizedThreadStart("调用的方法名"));
          // IsBackground  -->  获取或设置一个值,该值指示某个线程是否为后台线程
          thread2.IsBackground = true;
          thread2.Start();
     
    异步线程的使用  :                                                                                                                                                                                                                                                                                                  
        普通线程如果假死,会导致程序阻塞,可以用异步线程解决这个问题,CLR提供了很多方法,如FileStream的BeginRead和EndRead方法,HttpWebRequest的BeginGetResponse方法和EndGetResponse方法,
        如下为HttpWebRequest的使用示例:
        private void TestHttpRequest()
        {
            HttpWebRequest req = WebRequest.Create("http://www.baidu.com") as HttpWebRequest;
            req.BeginGetResponse(new AsyncCallback(ResponseCallback), req);
        }
        private void ResponseCallback(IAsyncResult ia)
        {
            HttpWebRequest req = ia.AsyncState as HttpWebRequest;
            HttpWebResponse res = req.EndGetResponse(ia) as HttpWebResponse;
            Console.WriteLine(res.ContentLength);
        }
        // 调用了Begin后 应该在适当的时候调用End释放资源,否则会造成资源无法释放
  • 相关阅读:
    [纯C#实现]基于BP神经网络的中文手写识别算法
    【转载】Jedis对管道、事务以及Watch的操作详细解析
    redis 缓存用户账单策略
    redis 通配符 批量删除key
    explain分析sql效率
    mysql 常用命令大全
    【转载】实战mysql分区(PARTITION)
    mysql表名忽略大小写配置
    【转】微服务架构的分布式事务解决方案
    【转载】Mysql中的Btree与Hash索引比较
  • 原文地址:https://www.cnblogs.com/kafeibuku/p/5320329.html
Copyright © 2011-2022 走看看