-
Data: 2020-06-09 23:32:25
Temat: Re: Embedded HTTP Server
Od: heby <h...@p...onet.pl> szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]On 09/06/2020 23:14, Maciej Sobczak wrote:
> Nie emulować, tylko sztucznie te zagadnienia rozdzielasz.
> Przecież biblioteka oparta w całości o callbacki jest eventowa niemal z założenia.
To Ty usiłujesz jej przypisać jakieś inne cechy.
Ale "eventowa z wątkami" to nie to samo co "coroutines/cooperative".
Więc jeśli będziesz się upierał o to że callback z wątku to "event" to
mamy rózne pojęcie co to jest event-based i oba do obrony.
>>> Muteks jest potrzebny, jeśli masz powody, żeby robić sekcje krytyczne. Tylko od
Ciebie zależy, czy będziesz miał te powody.
>> Nie. Jeśli mam event-based to nie mam powodów aby z powodu bibloteki
>> robić coś ekstra.
> Ciągle nie pokazałeś, dlaczego miałbyś robić coś ekstra.
> I dlaczego to akurat miałoby być z powodu tej biblioteki.
Bibliteka czyta/zapisuje zmienną globalną w implementacji callbacka.
Muszę ją obarierować i używać tej bariery w kodzie który nie ma NIC
wspólnego z serwerem HTTP. W ten sposób wątki z jakiejś bibliteki
agresywnie wymuszają na mnie zmiany kodu w miejscach odległych.
> Powtórzę: przykłady 1-5 *nie mają* muteksów. A jakie piękne GUI mają.
Helloworldy zazwyczaj nie mają żadnych problemów, chyba głównie dlatego
że połowa biblitek na necie nie ma innych zastosowań niż własne helloworldy.
Innymi słowy trudno o to aby kilka przykładów było dowodem w innym
zastosowaniu.
>>>> Mały muteksiak to duży kłopot w kilku przypadkach.
>>> Ale zapomniałeś je opisać.
>> Na przykład tam gdzie masz do czynienia z RT.
> No i? Jest cała szkoła modelowania systemów RT z obiektami chronionymi (patrz np.
Ada i związane z nią papiery akademickie), gdzie muteksy w niczym nie przeszkadzają.
Jaki masz problem z tymi muteksami?
Zajmują czas, wymagają grubego schedulera preemptive ze skomplikowaną
logią "Wait". Co prawda taki scheduler jest w zasięgu przeciętnego
programisty, ale to już nie jest za darmo.
>> Powiedzmy... piszesz soft do drukarki 3D sterujący wprost mechaniką.
> Łał. Myślałem, że drukarki 3D to był szpan dwa lata temu. :-p
> Teraz młodzież steruje dronami.
Nie, ten przykład to takie RT w domu, czyli w sam raz target Twojej
bibliteki. Hobbystyczny soft z hobbystycznymi biblitekami.
>> Wystawiasz w nim serwer www do sterowania.
> Masz na myśli, że serwer www lata na RaspberryPi
Obecnie sterowniki mają zaszyte jakeiś ARMy po 100MHz. Mimo że to RT to
w zasadzie procesor ma sporo wolnego w tzw "międzyczasie". Dlaczego nie
miałby generować jakiegoś www?
> Czy może masz na myśli to, że jakiś masochista uparł się, że serwer www z
niesterowalnym stosem TCP musi koniecznie być na jedynym mikrokontrolerze?
Trudno to nazwać masochizmem że ktoś stara się wykorzystać CPU bez
dodatkowego point-of-failure jakim jest extra Pi robiące za serwer www.
>> Mutexy są mało sensowne
> Ale dalej nie pokazałeś, po co te muteksy. Masz jakieś fiksacje. :-)
Masz wątki to i masz mutexy. W zasadzie czasem tylko memory barrier z
tych mutextów, ale mimo to dalej masz *coś*. Gdyby było to tylko w
adapterze do tej bibliteki to spoko. Ale wątki złośliwie zarażają resztę
kodu pojęciem zasobu krytycznego.
>> Prawie kazdy widział wątek. Promil wie jak działa pod maską.
> [...]
>> Fakt, w http cięzko takie zagadnienia znaleźć ...
> O, to, to. Fajnie, że dostrzegasz bezcelowość swojego trollowania. :-)
Trudno powiedzieć czy to trolowanie. W zasadzie nie wiem. Może to
dlatego że niedawno trafiłem na równie bezuzyteczny kawałek kodu. Niby
mógłbym użyć, ale ... detale ... jak ten while (1){} w stackless TCLu.
Prawie dobrze tylko całkiem do dupy. Taka karma :/
Następne wpisy z tego wątku
- 10.06.20 07:50 Tomasz Kaczanowski
- 10.06.20 08:09 heby
- 10.06.20 20:57 Maciej Sobczak
- 10.06.20 21:13 Maciej Sobczak
- 10.06.20 22:35 Maciej Sobczak
- 10.06.20 22:52 heby
- 10.06.20 22:54 heby
- 10.06.20 22:55 heby
- 23.06.20 09:33 Wojciech Muła
- 23.06.20 23:13 Maciej Sobczak
Najnowsze wątki z tej grupy
- 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
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
Najnowsze wątki
- 2024-05-10 Chess
- 2024-05-10 IZERA CD.
- 2024-05-10 Vitruvian Man - parts 7-11a
- 2024-05-10 Gdańsk => AI Specialist <=
- 2024-05-10 Zabrze => Junior HelpDesk <=
- 2024-05-10 Chess
- 2024-05-10 chatGPT prawem się zasłania
- 2024-05-10 Vitruvian Man - parts 1-6
- 2024-05-10 Vitruvian Man - parts 7-11a
- 2024-05-10 Chess
- 2024-05-10 Poznań => Specjalista ds. Sprzedaży <=
- 2024-05-10 Vitruvian Man - parts 7-11a
- 2024-05-10 Vitruvian Man - parts 1-6
- 2024-05-10 Vitruvian Man - parts 1-6
- 2024-05-10 Olsztyn => Sales Specialist <=