Article View: pl.comp.programming
Article #217053Integracja bibliotek event-based
From: Maciej Sobczak
Date: Mon, 08 Jun 2020 21:58
Date: Mon, 08 Jun 2020 21:58
21 lines
2033 bytes
2033 bytes
To jest wyciągnięty pod-wątek z wątku o serwerze HTTP.
Powiedzmy, że program używa 3 bibliotek event-based. Żeby nie trzeba było mieć wątków i innych muteksów.
W jednej trzeba zrobić server->next(), w drugiej agent.do_some_work() a w trzeciej worker::process(). Powiedzmy, że te funkcje od razu wychodzą jak nie mają nic do roboty, a jak mają, to szybko robią (bo na nic nie czekają) i też wychodzą.
Co należy zrobić, żeby użyć ich razem w jednym programie?
Takie coś:
while (true)
{
server->next();
agent.do_some_work();
worker::process();
}
jest złe, bo kręci się w kółko i zużywa prąd nawet (zwłaszcza) wtedy, gdy nie ma nic do zrobienia. Nie chcemy tak.
Jakie jest poprawne rozwiązanie dla integracji tych 3 bibliotek?
--
Maciej Sobczak * http://www.inspirel.com
Technical Details
Message-ID:
<5d642286-413d-47db-91b0-c689bbe167f4o@googlegroups.com>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mailShow Full Headers
Complete Article Headers
X-Received: by 2002:aed:2a19:: with SMTP id c25mr25340172qtd.345.1591653539163; Mon, 08 Jun 2020 14:58:59 -0700 (PDT) X-Received: by 2002:a05:620a:1099:: with SMTP id g25mr23868263qkk.302.1591653538930; Mon, 08 Jun 2020 14:58:58 -0700 (PDT) Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!newsreader4.netcologne.de!news.netcologne.de!news.uzoreto.com!feeder1.cambriumusenet.nl!feed.tweak.nl!209.85.160.216.MISMATCH!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail Newsgroups: pl.comp.programming Date: Mon, 8 Jun 2020 14:58:58 -0700 (PDT) Complaints-To: groups-abuse@google.com Injection-Info: google-groups.googlegroups.com; posting-host=213.108.152.51; posting-account=bMuEOQoAAACUUr_ghL3RBIi5neBZ5w_S NNTP-Posting-Host: 213.108.152.51 User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <5d642286-413d-47db-91b0-c689bbe167f4o@googlegroups.com> Subject: Integracja bibliotek event-based From: Maciej Sobczak <see.my.homepage@gmail.com> Injection-Date: Mon, 08 Jun 2020 21:58:59 +0000 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit