Article View: pl.comp.programming
Article #217056Re: Integracja bibliotek event-based
From: Mateusz Viste
Date: Tue, 09 Jun 2020 07:46
Date: Tue, 09 Jun 2020 07:46
33 lines
1727 bytes
1727 bytes
2020-06-08 o 14:58 -0700, Maciej Sobczak napisał:
> 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.
Zdecydowanie nie chcemy. 30 lat temu na 386 to jeszcze uchodziło, bo
program był jeden na raz a i prądożernośćią CPU nikt się nie
przejmował. Dziś trochę wstyd, kiedy po uruchomieniu programu
wentylator w laptopie zaczyna się kręcić. :)
> Jakie jest poprawne rozwiązanie dla integracji tych 3 bibliotek?
To zależy co one mają robić. Skoro mowa o serwerze, to domniemywam że
punktem wejścia jest pojawienie się jakiegoś nowego stanu na
sockecie. Jeśli tak, to sprawa prosta:
for (;;) {
select(sockfd+1, &socksetr, &socksetw, &socksete, &timeout);
/* TODO obsługa SIGINT */
/* TODO obsługa timeout */
server->next();
agent.do_some_work();
worker::process();
}
Mateusz
Technical Details
Message-ID:
<20200609094640.04ee0ae2@mateusz>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!aioe.org!.POSTED.nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org!not-for-mailReferences:
<5d642286-413d-47db-91b0-c689bbe167f4o@googlegroups.com>Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.net!aioe.org!.POSTED.nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org!not-for-mail From: Mateusz Viste <mateusz@xyz.invalid> Newsgroups: pl.comp.programming Subject: Re: Integracja bibliotek event-based Date: Tue, 9 Jun 2020 09:46:40 +0200 Organization: . . . Lines: 37 Message-ID: <20200609094640.04ee0ae2@mateusz> References: <5d642286-413d-47db-91b0-c689bbe167f4o@googlegroups.com> NNTP-Posting-Host: nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org Mime-Version: 1.0 X-Complaints-To: abuse@aioe.org X-Notice: Filtered by postfilter v. 0.9.2 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit