241
Vývoj / Re:CSP v embedded světě
« kdy: 16. 03. 2021, 07:24:38 »Nad tím bufferem jsem taky přemýšlel a klidně bych to vypustil, tj. mít jen blokující kanály na zápis i čtení. Co je důležité (aby to k něčemu bylo) je zavírání kanálů, ani ne tak kvůli čtení ve smyčce, jako spíš signalizaci v kontextu (korutina, která čeká na čtení, se probudí, když se příslušný kanál zavře).Já si (po zkušenosti s Elixirem) pořád myslím, že mailbox se selektivním výběrem je daleko mocnější nástroj, ale pro jednoduchou implementaci by nebufferované kanály imho měly stačit.
Bufferovaný kanál by se z nebufferovaného dal udělat, pokud by byla k dispozici operace testu, jestli je kanál prázdný. Pak můžu v případě potřeby ukládat do lokálního bufferu. Nenapadá mě teď případ, ve kterém by to nebylo funkčně ekvivalentní k "nativnímu" bufferu.
Kromě toho, nevybavuju si, že bych se někdy setkal se situací, kde by buffer na kanálu byl nutně potřeba pro korektnost algoritmu a nedalo by se to napsat jinak.

