class Program
{
private static event Action<string> GotLine;
static void Main(string[] args)
{
Thread t = new Thread(WatchForData);
t.Start();
Console.ReadLine();
}
static void WatchForData()
{
WebRequest request = WebRequest.Create("http://www.elitesecurity.org");
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
while (!reader.EndOfStream)
{
string line = reader.ReadLine();
GotLine(line);
}
}
}
E sad, u ovom kodu, event handler-i ce blokirati thread u kojem se izvrsava WatchForData. Ideja je da se eventi okidaju asinhrono. Sad, ja znam vise nacina da se to uradi (svako okidanje u novom thread-u, queue poziva i poseban thread koji ih izvrsava itd.), ali me zanima sta biste vi preporucili.
Meni se najvise svidja ideja da postoji samo jedan dodatni thread u okviru kojeg bi se izvrsavali svi eventi.
[Ovu poruku je menjao Shadowed dana 05.01.2015. u 15:50 GMT+1]