dotnetomaniak.pl - Artykuły z tagiem wątki

W .NET można anulować wątki za pomocą tokena. Oczywiście nie należy używać metody Abort czy Cancel, ale o tym już wiele razy pisałem – w skrócie nie wiadomo kiedy taki wątek zostanie przerwany. Użycie tokena jest proste tzn. (przykład MSDN):class Program { staticvoid Main() { var tokenSource2 =new CancellationTokenSource(); CancellationToken ct = tokenSource2.Token; var task = Task.Factory.StartNew(() => { // Were we already canceled? ct.T...

Dziel się z innymi:
Piotr Zieliński » Anulowanie wątków a synchronizacja

Sztuka programowania 3807 dni, 4 godziny, 16 minut temu Paweł Łukasik 140 źrodło rozwiń

Tydzień temu w pierwszym poście poświęconym synchronizacji, przedstawiłem Wam trzy kluczowe zagadnienia związane z tym tematem. I choć lock, Monitor oraz Mutex pozwalają nam rozwiązać naprawdę dużą liczbą problemów dotyczących wielowątkowości, to warto wiedzieć, że jest to tylko część programistycznego orężu w jaki wyposażył nas Microsoft. Dziś chciałbym Wam przedstawić cztery kolejne klasy, które powinny uzupełnić temat rozpoczęty tydzień temu i zasadniczo wyczerpać kwestię synchronizacji. Bez zbędnego ...

Dziel się z innymi:
Wielowątkowość w C# - synchronizacja wątków cz. 2 (Semafor, AutoResetEvent i ManualResetEvent, Interlocked) - Alt Control Delete

Architektura 4244 dni, 5 godzin, 13 minut temu Yuras 341 źrodło rozwiń

Kilka dni temu zainicjowałem cykl postów związanych z wielowątkowością. Rozpocząłem dość standardowo, bo od wyjaśnienia istoty tego zagadnienia i przedstawienia prostych wątków. Wiedza zawarta w tamtym wpisie, powinna w wielu przypadkach okazać się wystarczająca - szczególnie jeśli w naszej aplikacji mamy tylko jeden wątek dodatkowy, który stworzony jest tylko po to by odciążyć wątek główny. Takie proste rozwiązanie nie będzie jednak zawsze do końca wystarczające. Problemy pojawią się w sytuacji gdy wąt...

Tagi: C#, wątki
Dziel się z innymi:
Wielowątkowość w C# - synchronizacja wątków cz. 1 (lock, Monitor, Mutex) - Alt Control Delete

Architektura 4251 dni, 2 godziny, 30 minut temu Yuras 339 źrodło rozwiń

Napiszemy prosty program wielowątkowy, zrobimy synchronizację z głównym wątkiem (aby czekał dokładnie do momentu zakończenia drugiego wątku) i dodatkowo prześlemy parametr do nowo tworzonego wątku. To wszystko jest często niezbędne w aplikacjach i warto wiedzieć jak to się robi. Poprzednio wątki synchronizowane były za pomocą zmiennej bool. Nie jest to dobre rozwiązanie. Dodatkowo wątek główny musiał sprawdzać co pewien czas wartość tej zmiennej. Tutaj rozwiążemy to nieco bardziej optymalnie. Stw...

Dziel się z innymi:
C# na blache: Program wielowątkowy

Sztuka programowania 4309 dni, 2 godziny, 34 minuty temu sikor02 322 źrodło rozwiń

Na różnych forach często użytkownicy mają problem z aktualizacją kontrolek z innego wątku. Załóżmy, że odpaliliśmy sobie BackgroundWorker lub po prostu Thread. Wykonujemy jakieś operację, np. łączymy się ze zdalnymi zasobami. Stworzenie osobnego wątku w takim scenariuszu jest bardzo pożądane ponieważ nie blokujemy wtedy aktualizacji interfejsu. W trakcie pobierania informacji z Internetu chcemy aktualizować interfejs aby informować użytkownika o postępach np.progressBar.Value = progessValue; Jeśli powyż...

Dziel się z innymi:
Piotr Zieliński » Aktualizacja interfejsu z drugiego wątku(windows forms i WPF)

Windows 4532 dni, 14 godzin, 46 minut temu pzielinski 407 źrodło rozwiń

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.

Dobra lektura o wątkach w C# [PL] | Maciej Zbrzezny: Programowanie i Technologie

Programowanie rozproszone 4761 dni, 6 godzin, 10 minut temu paduda 256 źrodło rozwiń

Dziś trochę czystej teorii dla tych, którzy potrzebują wywoływać komponenty COM. W Internecie znajduje się wiele artykułów o różnicach między STA a MTA. Większość jednak opisuje je dosyć szczegółowo uwzględniając wiele aspektów technicznych i przez to nie zawsze może być to zrozumiałe. Podstawy jednak są bardzo proste i w poście skupie się wyłącznie na nich – szczegóły z pewnością znajdziecie na MSDN. Przede wszystkim STA, MTA mają znaczenie wyłącznie gdy korzystamy z obiektów COM. To pozostałość po dawn...

Tagi: MTA, STA, wątki
Dziel się z innymi:
Piotr Zieliński  » Blog Archive   » Single-threaded apartment oraz Multithreaded apartment.

Architektura 4792 dni, 21 godzin, 5 minut temu pzielinski 79 źrodło rozwiń

Okazuje się, że bardzo prosto, ale zacznijmy od początku. Niedawno zakończyłem pracę nad serwerem zajmującym się wykonywaniem tzw. zadań wsadowych. Definicje zadań do wykonania pobierane są z bazy danych, a w danym momencie może działać wiele serwerów. Każdy serwer rezerwuje sobie swoje zadania na pewien kwant czasu. Po upływie tego czasu inne serwery mają prawo przejąć to zadanie. Może się tak zdarzyć na przykład jeśli jakiś serwer ulegnie awarii. Jeśli wykonanie danego zadania zajmuje w...

Dziel się z innymi:
Jak zagłodzić Timer?

Używanie wątków przypomina stąpanie po cienkim lodzie: póki jesteśmy na lodzie jest fajnie i zabawnie, w momencie gdy lód pod nami pęka, no cóż, mamy problem. Teraz do rzeczy .. Dostaję do ręki okienko z jakimiś ustawieniami (checkboxy, pola textowe, te sprawy) i magicznym przyciskiem ‘Save’ zapisującym ustawienia do bazy. Żart polega na tym, że po zmianie jakiejś opcji i użycia magicznego przycisku stan kontrolki powraca do stanu sprzed ‘Save’. Niemalże mechanicznie ponawiam czynność i tym razem już wsz...

Tagi: threads, wątki
Źródło: www.bdamage.pl
Dziel się z innymi:
Jak łatwo coś spieprzyć używając wątków. | .braindamage

Inne 5162 dni, 1 godzinę, 49 minut temu gordon_shumway 94 źrodło rozwiń

Uzupełniam ostatnio braki w wiedzy, dotyczące synchronizacji wątków. Gdzieś w podrozdziale dotyczącym tego tematu przykuł moją uwagę Mutex. Mutex to, obok monitorów i semaforów, jedna z “prymitywnych” metod synchronizacji. Ma jednak bardzo ciekawą właściwość, odróżniającą ją od kolegów po fachu…

Tagi: .Net, C#, wątki
Źródło: andrzej.net.pl
Dziel się z innymi:
Mutex i sprawdzanie czy aplikacja jest jedyną uruchomioną : andrzej.net.pl

Architektura 5216 dni, 23 godziny, 58 minut temu gordon_shumway 103 źrodło rozwiń

Wszyscy znamy doskonale funkcję Sleep, która w Windows API służy do zawieszania działania wątku na określony czas (podawany w milisekundach). Wydawałoby się, że musi to być najprostsza funkcja z tego API, jaką tylko można sobie wyobrazić – bo co może być skomplikowanego w “zwykłej pauzie”? A okazuje się, że jak najbardziej może :) Używając Sleep – zwłaszcza w swej zwykłej wersji – musimy bo...

Tagi: wątki, Windows
Źródło: xion.org.pl
Dziel się z innymi:
Dwie uwagi o śpiących wątkach

Windows 5254 dni, 4 godziny, 38 minut temu Damian 109 źrodło rozwiń

Dzisiejszy wpis to praktycznie dokończenie dwóch poprzednich, stanowiące jakieś ich uzupełnienie, lub też swojsko rzecz ujmując ‘dobicie’. Do zbadania na dziś przygotowałem klasy Timer i BackgroundWorker. Ta druga trochę nietypowo, ponieważ wykorzystana zostanie w ‘aplikacji’ konsolowej, a głównym(tak mi się zdaje) jej zastosowaniem są aplikacje okienkowe i puszczanie złożonych czasowo operacji w tle, by GUI nie zostało ‘zawieszone’. Timer(System.Threading) Tutaj prosto i przyjemnie: jeśli chcemy odpala...

Źródło: www.bdamage.pl
Dziel się z innymi:
Wątki – sprawy jeszcze mniej podstawowe | .braindamage

Inne 5327 dni, 3 godziny, 51 minut temu Paweł Łukasik 119 źrodło rozwiń

Dzisiaj kontynuacja ostatniego wpisu, traktującego o najprostszych operacjach na wątkach. Bez zbędnych wstępów przejdę więc do klasy ReaderWriterLock. ReaderWriterLock Klasa ta daje możliwość, której nie daje nam klasa Monitor, mianowicie rozróżnianie pomiędzy blokadą do odczytu(umożliwia ona wielu wątkom jednoczesny dostęp do zasobu) oraz zapisu(tylko jeden naraz możliwy, oczywiście wtedy odczyt jest również zablokowany. Aby jej użyć wystarczy instancja ReaderWriterLock w klasie, do której dostęp ma ...

Tagi: threads, wątki
Źródło: www.bdamage.pl
Dziel się z innymi:
Wątki – sprawy trochę mniej podstawowe. | .braindamage

Inne 5334 dni, 13 godzin, 51 minut temu mojzesz 67 źrodło rozwiń

Z racji tego, że moja nauka .NET’a była straszliwie chaotyczna(czytaj jak czegoś potrzebowałem, to doczytywałem, nie zawsze to co trzeba:P) postanowiłem odrobić lekcje z kwestii podstawowych. Na pierwszy ogień jak widać poszły wątki, więc nieco o nich dzisiaj. Tworzenie nowego wątku. Wersja najprostsza: korzystając z klasy ThreadPool i statycznej funkcji QueueUserWorkItem odpalamy funkcję o sygnaturze odpowiadającej:publicdelegatevoid WaitCallback(object arg); Do dyspozycji mamy dwie wersje funkcji, z p...

Tagi: threads, wątki
Źródło: www.bdamage.pl
Dziel się z innymi:
Wątki – sprawy podstawowe | .braindamage

Inne 5333 dni, 27 minut temu Paweł Łukasik 95 źrodło rozwiń

SyncRoot to właściwość zdefiniowana na poziomie interfejsu ICollection służąca do synchronizowania operacji wykonywanych na kolekcjach przy pomocy słowa kluczowego lock lub jawnie przy pomocy monitora. Czemu jednak należy używać tej właściwości zamiast instancji kolekcji, czyli czemu zalecany jest taki kod: Kiedy postawiłem sobie to pytanie okazało się, że odpowiedź nie jest dla mnie oczywista. Wizyta w dokumentacji MSDN nic nie pomogł...

Dziel się z innymi:
.NET C# programowanie - Blog Michała Komorowskiego: Czemu należy używać właściwości SyncRoot?

Inne 5384 dni, 15 godzin, 40 minut temu Paweł Łukasik 68 źrodło rozwiń

Ciekawy tekst o związkach między kościołem a programowaniem ;)

Źródło: zine.net.pl
Dziel się z innymi:
Kościelne sko_dev_jarzenie

Inne 5530 dni, 22 godziny, 40 minut temu tomaszs 63 źrodło rozwiń

Najaktywniejsi w tym miesiącu