select() jest świetnym wywołaniem systemowym. Możesz spakować dowolną liczbę deskryptorów plików, deskryptorów gniazd, potoków itp., A otrzymasz powiadomienie w synchroniczny sposób, gdy dane wejściowe staną się dostępne.select() - w stanie timerów
Czy istnieje sposób na utworzenie timera interwałowego/onehotowego i użycie go z select()? To zaoszczędziłoby mi wiele wątków na IO i czas.
Czy możesz wyjaśnić, jaki rodzaj zegara chcesz? 'select()' ma standardowy parametr timeout. – qrdl
Parametr timera jest używany wewnętrznie przez select(). Jeśli select() nie otrzyma żadnego oczekującego odczytu/zapisu/err przed tym przekroczeniem czasu, to powróci. To, czego szukam, to polecenie przekształcenia licznika czasu w plik danych i spakowania go w zestawie fd_set. –
Parametr limitu czasu wybierania jest przeznaczony tylko dla limitów czasu, jeśli nie ma innych zdarzeń, jest całkiem sporo pracy, aby zbudować kilka timerów interwałowych i timerów oneshot na tym – nos