-
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
- Can you activate BMW 48V 10Ah Li-Ion battery, connecting to CAN-USB laptop interface ?
- We Wrocławiu ruszyła Odra 5, pierwszy w Polsce komputer kwantowy z nadprzewodzącymi kubitami
- Ada-Europe - AEiC 2025 early registration deadline imminent
- John Carmack twierdzi, że gdyby gry były optymalizowane, to wystarczyły by stare kompy
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2025
- Linuks od wer. 6.15 przestanie wspierać procesory 486 i będzie wymagać min. Pentium
- ,,Polski przemysł jest w stanie agonalnym" - podkreślił dobitnie, wskazując na brak zamówień.
- Rewolucja w debugowaniu!!! SI analizuje zrzuty pamięci systemu M$ Windows!!!
- Brednie w wiki - hasło Dehomag
- Perfidne ataki krakerów z KRLD na skrypciarzy JS i Pajton
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- Instytut IDEAS może zacząć działać: "Ma to być unikalny w europejskiej skali ośrodek badań nad sztuczną inteligencją."
- U nas propagują modę na SI, a w Chinach naukowcy SI po kolei umierają w wieku 40-50lat
- C++. Podróż Po Języku - komentarz
Najnowsze wątki
- 2025-07-03 Trybik
- 2025-07-04 Renault Symbioz
- 2025-07-04 Architektura IIIRP: Wyjątkowa, a prymitywniejsza niż stodoła pod zaborami
- 2025-07-04 Warszawa => International Freight Forwarder <=
- 2025-07-04 Wrocław => SAP ABAP Developer <=
- 2025-07-04 Warszawa => Mid/Senior IT Recruiter <=
- 2025-07-04 Białystok => Kotlin Developer <=
- 2025-07-04 Bieruń => Spedytor Międzynarodowy (handel ładunkami/prowadzenie flo
- 2025-07-04 Warszawa => Specjalista wsparcia IT - analiza techniczna sprzętu IT <
- 2025-07-04 Zakrzewo => Konsultant SAP HCM <=
- 2025-07-04 Łódź => Programista Mainframe (z/OS, Assembler) <=
- 2025-07-04 Szczecin => Key Account Manager IT <=
- 2025-07-04 Warszawa => Technik IT - Konfiguracja i Wsparcie Sprzętowe <=
- 2025-07-04 Warszawa => Technique IT - Hardware Configuration and Support <=
- 2025-07-04 Warszawa => Specjalista ds. Sprzętu IT i Wsparcia Technicznego <=