-
Data: 2012-02-20 15:04:22
Temat: Re: procedura tworzenia program w
Od: Andrzej Jarzabek <a...@g...com> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On Feb 20, 2:06 pm, Wojciech Jaczewski <w...@o...pl> wrote:
> Michoo wrote:
> > W dniu 20.02.2012 11:12, Wojciech Jaczewski pisze:
> >> A. L. wrote:
>
> >>> [...] "ale ja bez watkow". Na pytanie "dlaczego" padaja rozne
> >>> [odpowiedzi. ...] "to jest sposob na klopoty"
>
> >> A czy przypadkiem używanie wątków (tam gdzie nie jest to na prawdę
> >> niezbędne) nie jest proszeniem się o kłopoty?
> > Abstrahując od niedouczonych programistów, którzy sobie z wątkami nie
> > radzą (niestety bardzo częste) to jakie kłopoty są możliwe?
>
> Jeśliby sobie wypisać wszystkie możliwe stany, w jakich może znaleźć się
> program wielowątkowy a w jakich jednowątkowy, to w wielowątkowym będzie ich
> znacznie więcej. Z tego w część z nich program będzie wchodził niezwykle
> rzadko (np. tylko przy obciążonym na 100% systemie) - co znacznie utrudni
> wychwycenie niektórych błędów.
>
> > Imo wątki nie dość, że zazwyczaj upraszczają zapis
>
> Kosztem dłuższego analizowania/testowania, czy gdzieś nie ma wyścigu.
>
> > (bo zazwyczaj
> > wymuszają model oparty o message passing) to jeszcze pozwalają na
> > łatwiejsze zmiany.
>
> Wolę message passing na procesach.
> Częściowo wynika to z tego, co dotychczas robiłem, a POSIX-owe API ma bardzo
> poważne - jak dla mnie - wady:
> - pthread_cond_timedwait operuje na czasie systemowym a nie monotonicznym
A do czego byś chciał używać tej funkcji, że ci to robi różnicę?
> - nie mam możliwości nastawić czekania (select/poll) na pierwsze ze zdarzeń:
> cond (lub semafor), otrzymanie danych na socket-cie.
Można to łatwo zrobić tworząc osobne wątki, które czekają na zdarzenie
i generują komunikat czy warunek, na który czeka "główny" wątek.
Następne wpisy z tego wątku
- 20.02.12 15:07 A.L.
- 20.02.12 15:07 A.L.
- 20.02.12 15:27 bartekltg
- 20.02.12 15:41 Wojciech Jaczewski
- 20.02.12 16:09 Andrzej Jarzabek
- 20.02.12 16:32 bartekltg
- 20.02.12 17:56 Roman W
- 20.02.12 18:15 Bronek Kozicki
- 20.02.12 18:27 A.L.
- 20.02.12 18:28 A.L.
- 20.02.12 18:29 Edek Pienkowski
- 20.02.12 18:30 A.L.
- 20.02.12 18:45 Bronek Kozicki
- 20.02.12 19:26 Bronek Kozicki
- 20.02.12 19:31 Bronek Kozicki
Najnowsze wątki z tej grupy
- Alg. kompresji LZW
- Popr. 14. Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- Arch. Prog. Nieuprzywilejowanych w pełnej wer. na nowej s. WWW energokod.pl
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
Najnowsze wątki
- 2025-03-11 Warszawa => Kierownik ds. kluczowych Klientów <=
- 2025-03-11 Łódź => System Administrator (Linux, Active Directory) <=
- 2025-03-10 roaming
- 2025-03-10 wodor
- 2025-03-10 Ostrów Wielkopolski => NodeJS Developer <=
- 2025-03-10 Białystok => System Architect (background deweloperski w Java) <=
- 2025-03-10 Częstochowa => Backend Developer (Node + Java) <=
- 2025-03-10 Poznań => Konsultant wdrożeniowy Comarch XL (Logistyka, WMS, Produkc
- 2025-03-10 Bydgoszcz => Specjalista ds. Sprzedaży (transport drogowy) <=
- 2025-03-10 China-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Chiny-Kraków => Senior PHP Symfony Developer <=
- 2025-03-10 Szczecin => Key Account Manager IT <=
- 2025-03-10 Warszawa => Node.js / Fullstack Developer <=
- 2025-03-10 Warszawa => Data Engineer (Tech Leader) <=
- 2025-03-10 Gliwice => Business Development Manager - Network and Network Security