我有,我用我的機器人Web客戶端:鎖定Web客戶端 - 多線程應用程序
using System;
using System.Net;
namespace Game_Bot
{
class WebClientEx : WebClient
{
public CookieContainer CookieContainer { get; private set; }
public WebClientEx()
{
CookieContainer = new CookieContainer();
}
public void ClearCookies()
{
CookieContainer = new CookieContainer();
}
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = CookieContainer;
}
return request;
}
}
}
我有我的Web客戶端的一個對象。 有很多方法使用它。如果兩個線程想要使用該webClient進行下載,我得到的錯誤表明webClent當時只能運行一個操作。 如何修改該類,以便當一個線程正在使用它時,另一個線程必須等待。 我需要以某種方式鎖定它。
既然你不希望他們同時運行,爲什麼不使用隊列? http://www.dotnetperls.com/queue – Prix 2011-04-22 15:10:05
@Prix所有線程都在做任務,等待,計數。有時候這些線程需要從頁面中刪除一些html。我非常罕見,但有時會發生2線程想要同時下載頁面的情況。我想鎖定,以便當時只有一個人可以使用該WebClient。 – Hooch 2011-04-22 16:12:24