Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
using System;
using System.IO;
using System.Linq;
using System.Net;
using System.Threading;
namespace ParallelRSS
{
class Program
{
private static string ProcessRSS(string feedUrl)
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(feedUrl);
var response = request.GetResponse();
return (new StreamReader(response.GetResponseStream())).ReadToEnd();
}
private static string[] GetURLs()
{
return new string[] {
"habrahabr.ru/rss/",
"www.cbr.ru/scripts/RssPress.asp"
};
}
static void Main(string[] args)
{
try
{
var data = GetURLs().AsParallel().Select(url => ProcessRSS(url));
foreach (string x in data)
{
Console.WriteLine(x);
}
}
catch (AggregateException e)
{
}
Console.Read();
}
}
}
* This source code was highlighted with Source Code Highlighter.class MainApp
{
static void Main()
{
for(int i=0;i<30;i++)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(PoolFunc));
}
Console.ReadLine();
}
static void PoolFunc(object state)
{
int workerThreads,completionPortThreads;
ThreadPool.GetAvailableThreads(out workerThreads,
out completionPortThreads);
Console.WriteLine("WorkerThreads: {0}, CompletionPortThreads: {1}",
workerThreads, completionPortThreads);
Thread.Sleep(15000);
ConnectionSocket connection = new ConnectionSocket();
connection.Connect();
}
}
* This source code was highlighted with Source Code Highlighter.lock (ResultData.SyncRoot)
{
ResultData.Add(response);
}
Практика использования пространства System.Threading при написании многопоточных приложений в .NET.