|
|
PHP a SEMAFORY
|
8.1.2006 21:06
Satoris
|
Našla by se nějaká dobrá duše která by mi to vysvětlila na jednoduchém příkladu
Vím co to je, ale z manuálu sem přesně nepochopil jak se to používá,... není tam příklad.
sem_get -- vrati id na semafor
sem_acquire -- žádá o semafor
sem_release --- vzdává se semaforu
sem_remove --- zruší semafor ??? nebo jen ukazatel na semafor??
Totiž nechápu tohle:
Mám dva skripty nebo jeden ale spuštěn 2x od různých uživatelů
ve skriptu jsou instr v poradi
sem_get
sem_acquire
....prikazy...
sem_remove
je to tak? nemuze se stat ze oba si vytvori ruzne ukazatele na jeden semafor, jeden ho ziska, ten ho pak zrusi a ten druhej pak bude nahranej protoze semafor mu zrusil ten prvni a on ceka porad na sem_ acquire?
Napiste prosim jestli to ma v byt takhle:
sem_get
sem_acquire
....prikazy...
sem_remove
a toho co sem psal se nemusim obavát, protože to je vnitřně ošetřeno nebo prosím mi napište jednoduchej prikladek skriptu by to resil ( ruzne skripty muze spustit vic lidi, ale vzdy pracuje jen jeden)
Moc Díky
|
|
|
Re: PHP a SEMAFORY
|
8.1.2006 22:19
Petr Zajíc
|
No, spíš zkuse lehce popsat váš use-case, neboli "na co to potřebujete". Pak Vám možná někdo poradí jak na to. |
|
|
Re: PHP a SEMAFORY
|
8.1.2006 22:32
Satoris
|
No melo by bejt jedno kcemu to je, potrebuju vedet jak se pouzivaj semafory
.... je to k pristupu k souboru pro zapis i cteni a nesmi byt pouzita misto souboru databaze.... tot zadani... semafory proto, ze by se prece mohli ten soubor pokusit menit ve stejnou chvili dva skripty nebo vicekrat spustenej jeden skript... |
|
|
Re: PHP a SEMAFORY
|
8.1.2006 22:29
Aleš Hakl
|
SysV semafory jsou (ostatne jako cele SysV IPC) docela podivnou veci, kterou podle me nema prilis smysl pouzivat z PHP.
Pokud chcete pouze docilit toho, aby nejakou rozsahlejsi operaci mohl provadet pouze jeden uzivatel je daleko rozumnejsi cestou pouzit jako zamek existenci nejakeho souboru nebo lepe adresare na disku.
Pokud se opravdu chcete zabyvat SysV semafory, tak se podivejte treba do The Linux Programmer's Guide a idealne projdete celou kapitolu 6.4 System V IPC (uvaha za funkcemi necoget je zhruba stejna pro cele SysV IPC). Mimochodem pozor na to, ze nazvy funkci v PHP jsou lehce odlisne.
|
|
|
Re: PHP a SEMAFORY
|
8.1.2006 22:47
Satoris
|
to neni spatnej napad...
stema adresarema |
|
|
Re: PHP a SEMAFORY
|
8.1.2006 23:06
Aleš Hakl
|
Je to pomerne bezne reseni, pokud je nutne jednoduche a zaroven spolehlive zamykani.
Spolehlive je to proto, ze nemusime testovat jestli adresar uz existuje, pokud existuje volani mkdir(2) proste selze (v tom pripade si overime, jestli to co tam existuje je skutecne adresar a pokud je, tak chvili pockame a operaci opakujeme). Tomu ze mkdir probehne "rozumne atomicky" muzeme ve vetsine situaci verit. |
|
|
Re: PHP a SEMAFORY
|
9.1.2006 14:56
Petr Zajíc
|
Vidíte? Řekl jste na co to chcete a řešení se nabídlo. Jiné, možná lepší, každopádně přínosnější pro diskusi. Tak to má být. |
|
|
|
|
KOMENTARZE
|
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
|
|
Szukanie oprogramowania
|
©Pavel Kysilka - 2003-2024 |
maillinuxsoft.cz | Design:
www.megadesign.cz
|