Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > pl.comp.programming > #34003
| From | heby <heby@poczta.onet.pl> |
|---|---|
| Newsgroups | pl.comp.programming |
| Subject | Re: Embedded HTTP Server |
| Date | 2020-06-09 23:32 +0200 |
| Organization | A noiseless patient Spider |
| Message-ID | <rbov5h$ol4$1@dont-email.me> (permalink) |
| References | (12 earlier) <8ad576d7-4dd3-4cd7-ba53-2b3061289238o@googlegroups.com> <rbmcsp$utp$1@dont-email.me> <e088a6fa-05fa-46be-af00-07ea9023ab8bo@googlegroups.com> <rbosgc$7q4$1@dont-email.me> <05b9414f-00e5-4ed3-856a-366803697654o@googlegroups.com> |
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 :/
Back to pl.comp.programming | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-05 13:57 -0700
Re: Embedded HTTP Server Wojciech Muła <wojtek.mula@gmail.com> - 2020-06-06 03:44 -0700
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-06 11:34 -0700
Re: Embedded HTTP Server Wojciech Muła <wojtek.mula@gmail.com> - 2020-06-08 02:39 -0700
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-08 11:33 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-06 14:34 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-06 11:42 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-06 22:22 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-06 15:02 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-07 00:36 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-07 12:46 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-07 23:21 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-08 00:49 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-08 11:52 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-08 13:43 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-08 23:24 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-08 14:52 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-09 00:08 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-09 13:23 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-09 22:47 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-09 14:14 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-09 23:32 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-10 11:57 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-10 22:52 +0200
Re: Embedded HTTP Server Tomasz Kaczanowski <kaczus@poczta.onet.pl> - 2020-06-10 07:50 +0200
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-10 08:09 +0200
Re: Embedded HTTP Server Mateusz Viste <mateusz@xyz.invalid> - 2020-06-08 10:32 +0200
Re: Embedded HTTP Server Wojciech Muła <wojtek.mula@gmail.com> - 2020-06-06 10:10 -0700
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-06 12:00 -0700
Re: Embedded HTTP Server Wojciech Muła <wojtek.mula@gmail.com> - 2020-06-08 03:25 -0700
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-08 12:20 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-08 21:32 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-08 14:44 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-09 00:22 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-09 13:43 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-09 23:15 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-10 12:13 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-10 22:54 +0200
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-10 13:35 -0700
Re: Embedded HTTP Server heby <heby@poczta.onet.pl> - 2020-06-10 22:55 +0200
Re: Embedded HTTP Server Wojciech Muła <wojtek.mula@gmail.com> - 2020-06-23 00:33 -0700
Re: Embedded HTTP Server Maciej Sobczak <see.my.homepage@gmail.com> - 2020-06-23 14:13 -0700
csiph-web