-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!news.samoylyk.n
et!aioe.org!.POSTED.nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org!not-for-mail
From: Mateusz Viste <m...@x...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: <5...@g...com>
NNTP-Posting-Host: nyPK7k8oeDafdNpooDsxZQ.user.gioia.aioe.org
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Complaints-To: a...@a...org
X-Notice: Filtered by postfilter v. 0.9.2
Xref: news-archive.icm.edu.pl pl.comp.programming:214972
[ ukryj nagłówki ]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
Następne wpisy z tego wątku
- 09.06.20 22:58 Maciej Sobczak
- 09.06.20 23:18 heby
- 10.06.20 10:56 Mateusz Viste
- 10.06.20 23:19 Maciej Sobczak
- 11.06.20 10:37 Mateusz Viste
- 11.06.20 20:00 Maciej Sobczak
- 11.06.20 21:58 Mateusz Viste
- 12.06.20 20:55 Maciej Sobczak
- 13.06.20 09:33 Mateusz Viste
- 13.06.20 21:52 Maciej Sobczak
- 14.06.20 13:55 Mateusz Viste
- 14.06.20 20:52 Maciej Sobczak
Najnowsze wątki z tej grupy
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
- Ada 2022 Language Reference Manual to be Published by Springer
- Press Release - AEiC 2023, Ada-Europe Reliable Softw. Technol.
- Ada-Europe - AEiC 2023 early registration deadline approaching
- Ada-Europe Int.Conf. Reliable Software Technologies, AEiC 2023
- Ile cykli zajmuje mnożenie liczb 64-bitowych?
- Ideologia Polskiego Programisty wer.3
Najnowsze wątki
- 2024-04-23 Dostałem nową kartę
- 2024-04-23 Re: Głośniki
- 2024-04-23 Re: Głośniki
- 2024-04-23 Fwd: Re: Głośniki
- 2024-04-23 Re: Głośniki
- 2024-04-23 Białystok => Senior Rust Software Engineer <=
- 2024-04-23 Warszawa => Senior PHP Developer (Symfony) <=
- 2024-04-23 Czy prawo okresli granice chamstwa Jońskiego?
- 2024-04-23 Warszawa => Manager Sprzedaży <=
- 2024-04-23 Kraków => Service Leader/PLC Programmer with German <=
- 2024-04-23 Białystok => Senior Software Engineer PHP (BillPro) Kontraktor <=
- 2024-04-23 Kraków => Mid/Senior QA Engineer <=
- 2024-04-23 Kraków => Lider Serwisu/Programista PLC z językiem niemieckim <=
- 2024-04-23 Marki => Senior DevOps Engineer <=
- 2024-04-23 Odkrywanie ameryki - auta gnija.