-
Data: 2012-02-20 21:51:48
Temat: Re: procedura tworzenia program?w
Od: Wojciech Jaczewski <w...@o...pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Michoo wrote:
> Ja mówię o imo najsensowniejszym układzie w większości przypadków:
> - producent/ci generujący zdarzenia przetwarzania
> - konsument/ci generujący wynik i ewentualne zdarzenia odpowiedzi(np
> większość GUI pozwala na wywołania tylko z wątku głównego)
> - cały kontekst enkapsulowany w żądaniu/odpowiedzi.
A czy masz jakieś narzędzie, które automatycznie zweryfikuje, że
rzeczywiście cały kontekst jest enkapsulowany? W przypadku procesów: jeśli
nie używają pamięci dzielonej - jest oczywiste, że cały kontekst przechodzi
przez potoki/gniazda/itp. Jeśli jest pamięć dzielona, jest gwarancja że
jeden proces może namieszać drugiemu tylko w tej pamiędzi dzielonej, ale nie
w pozostałych blokach.
[Podejrzewam że istnieją języki, w których da się taką weryfikację zrobić; w
tej chwili chodzi mi o C/C++].
>> 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
>> - nie mam możliwości nastawić czekania (select/poll) na pierwsze ze
>> zdarzeń: cond (lub semafor), otrzymanie danych na socket-cie.
>> A skoro zwykle i tak muszę używać komunikacji przez potok lub gniazdo, to
>> wolę osobny proces zamiast wątku.
> Ok. Ale to już specyfika problemu.
>
> A ja piszę, że ogólnie o ile ktoś wie jak je używać to wątki są dobre.
Pewnie w niektórych przypadkach mogą być dobre.
Ja po prostu widziałem (a i sam tak robiłem dopóki się tego nie oduczyłem)
bardzo wiele programów, które dało się zrobić w jednym wątku na select/poll,
a były robione na wielu wątkach, co skutkowało wielokrotnie dłuższym czasem
ich testowania i likwidowania co bardziej uciążliwych błędów.
Prawie każdy wie co to jest wątek i do czego służy, natomiast znacznie
mniejszej liczbie ludzi chce się zagłębić w to, jak działa system
operacyjny, w którym tworzone przez nich programy będą uruchamiane i jakie
przydatne rzeczy ten system oferuje.
Jeśli ktoś zna alternatywy i wybierze wątki - OK, ale często wybieranie
wątków wynika z nieznajomości tych alternatyw.
Następne wpisy z tego wątku
- 21.02.12 09:24 Roman W
- 21.02.12 11:05 Andrzej Jarzabek
- 21.02.12 11:08 Andrzej Jarzabek
- 21.02.12 12:08 Andrzej Jarzabek
- 21.02.12 12:59 Wojciech Jaczewski
- 21.02.12 13:45 Andrzej Jarzabek
- 21.02.12 16:43 R.e.m.e.K
- 21.02.12 17:28 Wojciech Jaczewski
- 21.02.12 21:50 Andrzej Jarzabek
- 21.02.12 22:21 Wojciech Jaczewski
- 21.02.12 23:23 Andrzej Jarzabek
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-02-10 Spalił się spaliniak
- 2025-02-10 zarowka wifi - z sensowna apka lub lepiej albo lokalnie lub przez web. I zeby harmonogram miala
- 2025-02-10 Chrzanów => Programista NodeJS <=
- 2025-02-10 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2025-02-10 Dlaczego takie preferencje banków?
- 2025-02-10 Białystok => iOS Developer (Swift) <=
- 2025-02-10 Mińsk Mazowiecki => Team Lead / Tribe Lead FrontEnd <=
- 2025-02-10 Białystok => System Architect (Java background) <=
- 2025-02-10 Współczesne mierniki zniekształceń nieliniowych THD audio, produkują jakieś?
- 2025-02-10 Szczecin => Senior Field Sales (system ERP) <=
- 2025-02-10 Gliwice => Business Development Manager - Dział Sieci i Bezpieczeńst
- 2025-02-10 Chrzanów => Specjalista ds. public relations <=
- 2025-02-10 Chrzanów => NodeJS Developer <=
- 2025-02-10 Warszawa => JavaScript / Node / Fullstack Developer <=
- 2025-02-10 Gliwice => Ekspert IT (obszar systemów sieciowych) <=