dotnetomaniak.pl - Artykuły z tagiem Threadingdotnetomaniak.pl - Artykuły z tagiem Threading2024-03-28T10:15:44Zhttps://dotnetomaniak.pl/Tags/ThreadingCopyright (c) dotnetomaniak.pldotnetomaniak.pl Atom Generatordotnetomaniak.pl webmasteradmin@dotnetomaniak.plhttps://dotnetomaniak.pl/Assets/Images/fav.icohttps://dotnetomaniak.pl/Assets/Images/dotnetomaniak_logo-negatyw_small.png5025https://dotnetomaniak.pl/Piotr-Zielinski-Code-Review-ThreadSuspendPiotr Zieliński » Code Review: Thread.Suspend2013-04-24T19:44:35Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_pNCACM7Q5kq1SO9dVuGJhw.png"/></div><div>Każdy wątek posiada metodę Suspend, która wstrzymuje jego wykonywanie. Ktoś mógłby napisać takiego “potworka”:class Program
{
staticvoid Main(string[] args)
{
Thread thread=new Thread(Run);
thread.Start();
Thread.Sleep(1000);
thread.Suspend();
Thread.Sleep(5000);
thread.Resume();
}
staticprivatevoid Run()
{
while(true)
{
Console.WriteLine("Running...");
}
}
}
Używanie Suspend jest bardzo złą praktyką i może ...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Piotr-Zielinski-Code-Review-ThreadSuspend"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.pzielinski.com%2f%3fp%3d1530" style="border:0px"/></a></div></div>pzielinskihttps://dotnetomaniak.pl/Users/uL1CEj4isEuRvajW8gS3pQ2013-05-04T15:19:29Zhttps://dotnetomaniak.pl/Piotr-Zielinski-Code-Review-ThreadSuspend11380Każdy wątek posiada metodę Suspend, która wstrzymuje jego wykonywanie. Ktoś mógłby napisać takiego “potworka”:class Program
{
staticvoid Main(string[] args)
{
Thread thread=new Thread(Run);
thread.Start();
Thread.Sleep(1000);
thread.Suspend();
Thread.Sleep(5000);
thread.Resume();
}
staticprivatevoid Run()
{
while(true)
{
Console.WriteLine("Running...");
}
}
}
Używanie Suspend jest bardzo złą praktyką i może ...http://www.pzielinski.com/?p=1530http://dotnetomaniak.pl/Data/Thumbnails/small_pNCACM7Q5kq1SO9dVuGJhw.pnghttps://dotnetomaniak.pl/Wielowatkowosc-w-C-klasa-Timer-Alt-Control-DeleteWielowątkowość w C# - klasa Timer - Alt Control Delete2012-09-10T06:13:04Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_tsfsvaHUhEe1V86uZaXb-g.png"/></div><div>Jednym z bardziej charakterystycznych zadań, którego implementację można wykazać w szeregu różnych aplikacji dostępnych na rynku, jest praca wykonywana w stałych określonych interwałach czasu. Przykładów nie trzeba daleko szukać, ponieważ wystarczy spojrzeć choćby na aplikacje mobilne, o których trochę na tym blogu się pisze. W przypadku smartfonów, zjawisko to widoczne jest w aspekcie synchronizacji. Sprawdź statusy na Facebooku co 3 godziny, ściągnij wiadomości RSS co 6 godzin, aktualizuj kalendarz co godzinę itd. Powyższe trzy rozwiązania to tylko kropla w morzu synchronizacji, które nas otacza.
Co łączy zatem wszystkie tego typu przykłady? Oczywiście wspomniana częściowo wcześniej praca interwałowa - czyli wykonywanie określonych stałych operacji w z góry zdefiniowanym, stałym odstępie czasu. A jak można realizować tego typu zadania? Pomocny w tym przypadku okaże się tytułowy Timer.
W tym miejscu należy się Wam jednak mała istotna uwaga. Klasa Timer występuje w C# trzykrotnie. My zajmiemy się opisem implementacji Timera z przestrzeni nazw System.Timers oraz System.Threading.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Wielowatkowosc-w-C-klasa-Timer-Alt-Control-Delete"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fwww.altcontroldelete.pl%2fartykuly%2fwielowatkowosc-w-c-klasa-timer%2f" style="border:0px"/></a></div></div>Yurashttps://dotnetomaniak.pl/Users/1cnucJRn6UOcZ9xI-lViXA2012-09-19T17:56:58Zhttps://dotnetomaniak.pl/Wielowatkowosc-w-C-klasa-Timer-Alt-Control-Delete11700Jednym z bardziej charakterystycznych zadań, którego implementację można wykazać w szeregu różnych aplikacji dostępnych na rynku, jest praca wykonywana w stałych określonych interwałach czasu. Przykładów nie trzeba daleko szukać, ponieważ wystarczy spojrzeć choćby na aplikacje mobilne, o których trochę na tym blogu się pisze. W przypadku smartfonów, zjawisko to widoczne jest w aspekcie synchronizacji. Sprawdź statusy na Facebooku co 3 godziny, ściągnij wiadomości RSS co 6 godzin, aktualizuj kalendarz co godzinę itd. Powyższe trzy rozwiązania to tylko kropla w morzu synchronizacji, które nas otacza.
Co łączy zatem wszystkie tego typu przykłady? Oczywiście wspomniana częściowo wcześniej praca interwałowa - czyli wykonywanie określonych stałych operacji w z góry zdefiniowanym, stałym odstępie czasu. A jak można realizować tego typu zadania? Pomocny w tym przypadku okaże się tytułowy Timer.
W tym miejscu należy się Wam jednak mała istotna uwaga. Klasa Timer występuje w C# trzykrotnie. My zajmiemy się opisem implementacji Timera z przestrzeni nazw System.Timers oraz System.Threading.http://www.altcontroldelete.pl/artykuly/wielowatkowosc-w-c-klasa-timer/http://dotnetomaniak.pl/Data/Thumbnails/small_tsfsvaHUhEe1V86uZaXb-g.pnghttps://dotnetomaniak.pl/Work-Stealing-Passion-of-Programming-in-NETWork Stealing | Passion of Programming in .NET2012-05-10T21:53:29Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_lu8yfV4tykiGsQDblWLLMw.png"/></div><div>When working with multi threaded applications, we tend to spawn worker threads which can lead to ineffective code when not done correctly, for example threads will not get reused and will be recreated for each work items. The solution to all those problems is a ThreadPool which reuses threads and queues work items that are consumed by those threads. This sort of implementation while simple can have side effects as unless the pool Queue is immutable it will have to be locked each time an item Enqueued and...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Work-Stealing-Passion-of-Programming-in-NET"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fbadamczewski.blogspot.com%2f2012%2f05%2fwork-stealing.html" style="border:0px"/></a></div></div>http://badamczewski.blogspot.com/https://dotnetomaniak.pl/Users/qim03vMeNkyBwi1Nezy-eA2012-05-19T06:52:08Zhttps://dotnetomaniak.pl/Work-Stealing-Passion-of-Programming-in-NET32130When working with multi threaded applications, we tend to spawn worker threads which can lead to ineffective code when not done correctly, for example threads will not get reused and will be recreated for each work items. The solution to all those problems is a ThreadPool which reuses threads and queues work items that are consumed by those threads. This sort of implementation while simple can have side effects as unless the pool Queue is immutable it will have to be locked each time an item Enqueued and...http://badamczewski.blogspot.com/2012/05/work-stealing.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_lu8yfV4tykiGsQDblWLLMw.pnghttps://dotnetomaniak.pl/NET-Programmer-Zakolejkowanie-watkow-czyli-slow-kilka-o-ThreadPool.NET Programmer | Zakolejkowanie wątków czyli słów kilka o ThreadPool2011-05-18T19:32:52Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_k-y-2GL-v0qc0KKHvlieTQ.png"/></div><div>Kolejny dzień kolejny wpis na blogu. Postawiono przede mną zadanie poprawy wydajności aplikacji w kontekście dodania do niej wielu wątków roboczych. Zadanie proste i banalne używając .NET. W związku z tym dziś słów kilka o klasie ThreadPool .
Dzięki klasie ThreadPool i jej metodzie ThreadPool.QueueUserWorkItem sprawa jest naprawdę prosta. Jej użycie sprowadza się do "powiedzenia w C# - hej jest robota do wykonania niech ją ktoś dla mnie wykona w wolnej chwili". Naprawdę ... to takie proste. Oczywiście ta p...</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/NET-Programmer-Zakolejkowanie-watkow-czyli-slow-kilka-o-ThreadPool"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fblog.drno.com.pl%2fpost%2f2011%2f05%2f18%2fZakolejkowanie-watkow-czyli-s%25C5%2582ow-kilka-o-ThreadPool.aspx" style="border:0px"/></a></div></div>doktornohttps://dotnetomaniak.pl/Users/oXSNC7E36UWO_2GoiRdgPA2011-05-28T16:37:42Zhttps://dotnetomaniak.pl/NET-Programmer-Zakolejkowanie-watkow-czyli-slow-kilka-o-ThreadPool33910Kolejny dzień kolejny wpis na blogu. Postawiono przede mną zadanie poprawy wydajności aplikacji w kontekście dodania do niej wielu wątków roboczych. Zadanie proste i banalne używając .NET. W związku z tym dziś słów kilka o klasie ThreadPool .
Dzięki klasie ThreadPool i jej metodzie ThreadPool.QueueUserWorkItem sprawa jest naprawdę prosta. Jej użycie sprowadza się do "powiedzenia w C# - hej jest robota do wykonania niech ją ktoś dla mnie wykona w wolnej chwili". Naprawdę ... to takie proste. Oczywiście ta p...http://blog.drno.com.pl/post/2011/05/18/Zakolejkowanie-watkow-czyli-s%C5%82ow-kilka-o-ThreadPool.aspxhttp://dotnetomaniak.pl/Data/Thumbnails/small_k-y-2GL-v0qc0KKHvlieTQ.pnghttps://dotnetomaniak.pl/Dobra-lektura-o-watkach-w-C-PL-Maciej-Zbrzezny-Programowanie-i-TechnologieDobra lektura o wątkach w C# [PL] | Maciej Zbrzezny: Programowanie i Technologie2011-04-06T09:57:25Z<div><div><div style="float:right"><img alt ="" src="http://dotnetomaniak.pl/Data/Thumbnails/small_JFv4frZUs02oD4q_keddgQ.png"/></div><div>Informacja dla tych, którzy chcieliby poczytać o programowaniu wielowątkowym w C# (i dla mnie bym nie musiał kolejny raz „googlać” tego linku) polecam przeczytanie książki „Threading in C#” autorstwa Joseph Albahari.</div></div><div style="padding-top:4px"><a rev="vote-for" href="https://dotnetomaniak.pl/Dobra-lektura-o-watkach-w-C-PL-Maciej-Zbrzezny-Programowanie-i-Technologie"><img alt="Podbij ↑" src="https://dotnetomaniak.pl/image.axd?url=http%3a%2f%2fmaciej-progtech.blogspot.com%2f2011%2f04%2fdobra-lektura-o-watkach-w-c-pl.html" style="border:0px"/></a></div></div>padudahttps://dotnetomaniak.pl/Users/lTTRaS97HESSQ6Bhm-gUxg2011-04-15T05:30:27Zhttps://dotnetomaniak.pl/Dobra-lektura-o-watkach-w-C-PL-Maciej-Zbrzezny-Programowanie-i-Technologie22560Informacja dla tych, którzy chcieliby poczytać o programowaniu wielowątkowym w C# (i dla mnie bym nie musiał kolejny raz „googlać” tego linku) polecam przeczytanie książki „Threading in C#” autorstwa Joseph Albahari.http://maciej-progtech.blogspot.com/2011/04/dobra-lektura-o-watkach-w-c-pl.htmlhttp://dotnetomaniak.pl/Data/Thumbnails/small_JFv4frZUs02oD4q_keddgQ.png