C kuinka toimii viive

viive12

Jos c-ohjelmoinnissa laittaa mainiin vaikka minuutin viiveen jostain tapahtumasta, niin jääkö ohjelman kierto tähän kohtaan minuutiksi? Mitä tapoja on sitten hoitaa tälläinen tilanne jos ohjelmankierto pysähtyyniin että muita hommia voisi kuitenkin jatkaa viiveestä huolimatta?

3

<50

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 10or13

      odotetaan select():ssä?

    • lazarusfani

      Kun kirjoittaa koodiin vaikkapa usleep(5) saa vähintään 5 us kestävän viiveen. Todellisuudessa prosessori skeduloi viiveen ajaksi jonkun toisen prosessin ajoon, eikä odotteluaikaa todellakaan hukata. Tuo viive ei muuten sitten yleensä ole 5 us. Vaan esim. 30us! Tämä taas johtuu skedulerin prosessi-siivuista, jotka aina vähintään ajetaan. Itse asiassa mikä tahansa systeemikutsu voi saada aikaan uudelleen skeduloinnin, mistä seuraa, että ohjelmasi ajetaan todellisuudessa pätkissä.
      Vaihtoehto tuolle prosessi-skeduloinnille on sitten säikeistys(threads). Se on hallinnointinsa kannalta ehkä vähän kevyempi ja helpommin toteutettavissa useissa kielissä - tai ainakin samalla vaivalla.
      Yksi vaihtoehto voi olla -ympäristöstä riippuen - myös timer:it. Voi olla mahdollista sanoa järjestelmälle, että tulee ajamaan koodipätkän esim. 10us päästä..

    • Taustatietoa.tarvitaan

      Määrittele ensin, mille asialle pistät viiveen ja miksi. Ja mitä muita asioita pitää pystyä hoitamaan tuon viiveen aikana.

      Vaihtoehtoja on jo mainitut säikeet, sekä uudet prosessit. Myös yllä viitattu silmukka-ratkaisu voi olla hyvä, kunhan ensin määrittelet, mitä odotellaan ja miksi, ja mitä muuta pitää pystyä tekemään viiveen aikana.

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Taasko se show alkaa

      Koo osottaa taas mieltään
      Ikävä
      27
      1888
    2. Heikki Silvennoinen petti vaimoaan vuosien ajan

      Viiden lapsen isä Heikki kehuu kirjassaan kuinka paljon on pettänyt vaimoaan vuosien varrella.
      Kotimaiset julkkisjuorut
      119
      1858
    3. Miksi ihmeessä nainen seurustelit kanssani joskus

      Olin ruma silloin ja nykyisin vielä rumempi En voi kuin miettiä että miksi Olitko vain rikki edellisestä suhteesta ja ha
      Ikävä
      23
      1838
    4. Persut nimittivät kummeli-hahmon valtiosihteeriksi!

      Persujen riveistä löytyi taas uusi törkyturpa valtiosihteeriksi! Jutun perusteella järjenjuoksu on kuin sketsihahmolla.
      Perussuomalaiset
      85
      1620
    5. Onko ministeri Juuso epäkelpo ministerin tehtäviensä hoitamiseen?

      Eikö hänellä ole kompetenttia hoitaa sosiaali- ja terveysministetin toimialalle kuuluvia ministerin tehtäviä?
      Perussuomalaiset
      60
      1442
    6. Sakarjan kirjan 6. luku

      Jolla korva on, se kuulkoon. Sain profetian 22.4.2023. Sen sisältö oli seuraava: Suomeen tulee nälänhätä niin, että se
      Profetiat
      20
      1256
    7. Elia tulee vielä

      Johannes Kastaja oli Elia, mutta Jeesus sanoi, että Elia tulee vielä. Malakian kirjan profetia Eliasta toteutuu kokonaan
      Helluntailaisuus
      37
      1153
    8. Avaa sydämesi mulle

      ❤ ❤❤ Tahdon pelkkää hyvää sulle Sillä ilmeisesti puhumalla Avoimesti välillämme Kaikki taas selviää Kerro kaikki, tahdo
      Ikävä
      38
      1150
    9. Söpö lutunen oot

      Kaipaan aina vaan, vaikkakin sitten yksipuolisesti.
      Ikävä
      11
      1148
    10. Nellietä Emmaa ja Amandaa stressaa

      Ukkii minnuu Emmaa ja Amandaa stressaa ihan sikana joten voidaanko me koko kolmikko hypätä ukin kainaloon ja syleilyyn k
      Isovanhempien jutut
      10
      1127
    Aihe