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释放资源,否则会造成资源无法释放
  • 相关阅读:
    delphi 文件的读取(二进制文件和文本文件)
    delphi中用代码实现注册Ocx和Dll(有点怪异,使用CallWindowProc来调用指定函数DllRegisterServer)
    delphi 控件大全(确实很全)
    C#编写Windows 服务
    SSD Buffer Pool Extension
    .NET Web开发技术简单整理
    Python数据库访问之SQLite3、Mysql
    infiniband学习总结
    模板引擎开发3自定义标签的处理
    CSS选择器、优先级与匹配原理
  • 原文地址:https://www.cnblogs.com/kafeibuku/p/5320329.html
Copyright © 2011-2022 走看看