Kuna tofauti gani kati ya kazi za reentrant na thread salama?
Kuna tofauti gani kati ya kazi za reentrant na thread salama?

Video: Kuna tofauti gani kati ya kazi za reentrant na thread salama?

Video: Kuna tofauti gani kati ya kazi za reentrant na thread salama?
Video: Устранение тайны контрольных точек Hyper-V 2024, Mei
Anonim

Thread salama kanuni ni moja ambayo inaweza kufanywa kutoka nyingi threads salama , hata simu zikitokea kwa wakati mmoja kwenye nyingi nyuzi . Mrejeshaji kanuni inamaanisha kuwa unaweza kufanya mambo yote thread salama code inaweza dobut pia gurantee usalama hata ukiita sawa kazi ndani ya huo uzi.

Mbali na hilo, kazi ya kuingia tena ni nini?

A kazi ni aliyeingia tena ikiwa inaweza kuombwa ikiwa tayari iko katika mchakato wa utekelezaji. Hiyo ni, a kazi ni aliyeingia tena ikiwa inaweza kukatizwa katikati ya utekelezaji (kwa mfano, kwa ishara au kukatizwa) na kuombwa tena kabla ya utekelezaji uliokatizwa kukamilika.

Kando na hapo juu, nyuzi ya QT iko salama? Vidokezo vimewashwa Qt Madarasa Mengi Qt madarasa yamerudishwa tena, lakini hayajatengenezwa uzi - salama , kwa sababu kuwafanya uzi - salama ingeleta ziada ya ziada ya kufunga na kufungua mara kwa mara QMutex. Kwa mfano, QString haijumuishi lakini sio uzi - salama . Baadhi Qt madarasa na kazi ni uzi - salama.

Ipasavyo, kazi salama za nyuzi ni nini?

kutoka wikipedia: Usalama wa thread ni dhana ya programu ya kompyuta inayotumika katika muktadha wa threaded programu. Hasa, lazima ikidhi hitaji la nyingi nyuzi kufikia data sawa iliyoshirikiwa, na hitaji la kipande cha data kilichoshirikiwa kufikiwa na mtu mmoja pekee uzi wakati wowote.

Je, kazi za kujirudia ni zipi?

Katika suala la programu a kazi ya kujirudia inaweza kufafanuliwa kama utaratibu unaojiita moja kwa moja au kwa njia isiyo ya moja kwa moja.

Ilipendekeza: