Многопоточное приложение на C#

by SeoCoder on Август 28, 2007

Вот пример рабочего консольного приложения для примера потоков на C#. Используется пул потоков.
Я решил переписать все тулзы на консольные, чтобы можно было под Mono использовать и на nix системах.
Жду от читателей в комментах, что из тулз на сайте стоит сделать в первую очередь и какие фичи добавить.

[sourcecode language='c#']
using System;
using System.Threading;
class ThreadPoolSample
{
public static void Main()
{
ThreadPoolSample tps = new ThreadPoolSample();
}
public ThreadPoolSample()
{
int i;
ThreadPool.QueueUserWorkItem(new WaitCallback(Counter));
ThreadPool.QueueUserWorkItem(new WaitCallback(Counter2));
for(i = 0; i < 10; i++)
{
Console.WriteLine("main: {0}", i);
Thread.Sleep(1000);
}
}
void Counter(object state)
{
int i;
for (i = 0; i < 10; i++)
{
Console.WriteLine(" thread: {0}", i);
Thread.Sleep(2000);
}
}
void Counter2(object state)
{
int i;
for (i = 0; i < 10; i++)
{
Console.WriteLine(" thread2: {0}", i);
Thread.Sleep(3000);
}
}
}
[/sourcecode]

Ну и напоследок, "оригинальная" реклама.
Форум вебмастеров Армада радует своих обитателей очередными сюрпризами. Если у вас еще нет своего блога - то самое время завести его, и для участников форума предоставляется такая возможность. Если же у вас
уже есть блог с интересным материалом - то сообщите об этом в новом разделе Дайджест блогосферы и возможно, вы найдете новых поклонников своего творчества :)

{ 0 comments… add one now }

Leave a Comment

You can use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>