Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

TigerClaw25

unregistriert

1

05.08.2017, 13:48

Poll und timerfd unter Linux

Hallo zusammen,
kennt sich jemand mit timerfd und poll/epoll unter Linux aus und kann mir genau erklären, was es damit auf sich hat? Eventuell auch in Kombination mit threads und multithreading?

Tobiking

1x Rätselkönig

  • Private Nachricht senden

2

05.08.2017, 15:14

kennt sich jemand mit timerfd und poll/epoll unter Linux aus und kann mir genau erklären, was es damit auf sich hat? Eventuell auch in Kombination mit threads und multithreading?

Epoll wird in der Regel verwendet wenn man mit asynchronen Funktionen arbeitet. Asynchrone Funktionen setzt man ein um nicht mit Threads arbeiten zu müssen wenn es nur darum geht den normalen Programmablauf nicht zu blockieren. Die Funktionen stoßen eine länger laufende Aktion an, kehren dann aber direkt wieder zurück. Mit epoll wird dann abgefragt ob diese Aktion abgeschlossen wurde. Beim Timer wird dann halt abgefragt ob er ausgelöst wurde.

TigerClaw25

unregistriert

3

05.08.2017, 17:01

Hi,
ich habe folgendes Problem. Ich habe eine Tätigkeit angetreten, bei der ich mit Linux arbeite. Damit habe ich aber bisher wenig zutun gehabt und meine C/C++ Kentnnisse sind eher Richtung Grundlagen.

Daher habe ich als erste Aufgabe das Einarbeiten in den POSIX-message-queues bekommen. Das habe ich mit der offiziellen Dokumentation und zahlreichen Beispielen auch hinbekommen, ohne aber wirklich zu verstehen, wie Linux genau arbeitet. Das ist alles ziemlich Neuland für mich.

Meine nächste Aufgabe ist es jetzt, mit der timerfd und poll/epoll eine Art Event Handler zu programmieren, also auf bestimmte Ereignisse wie die Zeit, die in bestimmten Abständen abgefragt werden soll, zu reagieren. Aber mir sind timerfd und polll auf den ersten Blick etwas Overkill. Ein Tag hat nicht gereicht, um wirklich zu verstehen, was diese Mechanismen genau bewirken und wie ich das Ganze am besten einsetze. Ich lese beispielsweise die Beschreibung der Funktionen timerfd_create, timerfd_settime, etc.. Aber irgendwie verstehe ich im gesamten nicht, was das wirklich ist (Link: http://man7.org/linux/man-pages/man2/timerfd_create.2.html). Es gibt dazu auch noch ein sehr gutes Buch über diese Themen, aber mitten drin anzufangen, ist auch schwer, da mir insgesamt das komplette Linux Verständnis fehlt.

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

4

05.08.2017, 18:58

Es gibt dazu auch noch ein sehr gutes Buch über diese Themen, aber mitten drin anzufangen, ist auch schwer, da mir insgesamt das komplette Linux Verständnis fehlt.

Wenn du für deinen Job aktuell Verständnis von Linux benötigst dann solltest du dir das vielleicht einfach aneignen oder nicht?
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

06.08.2017, 09:02

Oh je, ich sehe es schon kommen. Die 100 Threads zu jeder zweiten Seite aus Heikos Buch waren nur der Anfang. Jetzt willst du wohl für jede Aufgabe, die man dir in deinem Job gibt und für die du bezahlt wirst, genau so weitermachen. Dass das nicht der Sinn des Forums ist, sollte dir klar sein, und wir werden das nicht mitmachen. Wenn du die Aufgaben nicht ohne Hilfe lösen kannst, dann solltest du das deinem Chef ehrlich sagen.

Werbeanzeige