LINUXSOFT.cz
Nazwa użytkownika: Hasło:     
    CZ UK PL

> Komentarze :: Poradna PHP a SEMAFORY

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
PHP a SEMAFORY 8.1.2006 21:06 Satoris
  |- Re: PHP a SEMAFORY 8.1.2006 22:19 Petr Zajíc
  | L Re: PHP a SEMAFORY 8.1.2006 22:32 Satoris
  L Re: PHP a SEMAFORY 8.1.2006 22:29 Aleš Hakl
    L Re: PHP a SEMAFORY 8.1.2006 22:47 Satoris
      |- Re: PHP a SEMAFORY 8.1.2006 23:06 Aleš Hakl
      L Re: PHP a SEMAFORY 9.1.2006 14:56 Petr Zajíc
Tylko zarejestrowani użytkownicy mogą dopisywać komentarze.
> Szukanie oprogramowania
1. Pacman linux
Download: 4852x
2. FreeBSD
Download: 9044x
3. PCLinuxOS-2010
Download: 8541x
4. alcolix
Download: 10916x
5. Onebase Linux
Download: 9632x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6219x

1. xinetd
Download: 2383x
2. RDGS
Download: 937x
3. spkg
Download: 4695x
4. LinPacker
Download: 9918x
5. VFU File Manager
Download: 3173x
6. LeftHand Mała Księgowość
Download: 7172x
7. MISU pyFotoResize
Download: 2780x
8. Lefthand CRM
Download: 3540x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 3089x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz