-
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
- 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??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
Najnowsze wątki
- 2024-11-04 GNSS Motorola G85 vs Redmi Note 9 pro
- 2024-11-04 Katowice => SAP BTP Consultant (mid/senior) <=
- 2024-11-04 Katowice => Spedytor międzynarodowy <=
- 2024-11-04 Warszawa => Specjalista/tka ds. Zamówień publicznych <=
- 2024-11-04 Poznań => QA Engineer <=
- 2024-11-04 Poznań => QA Inżynier <=
- 2024-11-04 Polskie sądy są bardzo wyrozumiałe...
- 2024-11-04 Wrocław => SAP Project System/EPPM Consultant <=
- 2024-11-04 Gliwice => Team Lead / Tribe Lead FrontEnd <=
- 2024-11-04 Kraków => Programista Full Stack (.Net Core) <=
- 2024-11-04 Kraków => Software .Net Developer <=
- 2024-11-04 Kraków => Programista Full Stack .Net <=
- 2024-11-04 Warszawa => Key Account Manager <=
- 2024-11-04 Warszawa => Spedytor Międzynarodowy <=
- 2024-11-04 Warszawa => E-COMMERCE specialist <=