您的位置:首页 > 编程语言 > C#

c#基础: 线程的初级用法总结

2016-03-25 17:28 441 查看
启动一个线程的两种方法:

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释放资源,否则会造成资源无法释放
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: