Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 663 Pomógł: 6 Dołączył: 3.06.2007 Skąd: Kraków Ostrzeżenie: (0%)
|
Zastanawiam sie czy 2 skrypty php mogą zacząć wykonywać się równolegle? Przy jednym procesorze to chyba niemożliwe prawda? A co jeśli serwer jest wieloprocesorowy? Czy wtedy mogą wykonywać się obok siebie?
Czy jeśli nie wykonują się równolegle to po co korzystać z LOCK TABLES? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 952 Pomógł: 154 Dołączył: 20.01.2007 Skąd: /dev/oracle Ostrzeżenie: (0%)
|
Bez Twojej wiedzy to się tak znowu nie dzieje - skrypt dostaje wtedy stosowną informację i może zareagować (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) . Ogólnie, jeśli tylko jest to możliwe, baza stara się jednak wykonać równolegle dwie transakcje, przy czym one nie widzą nawzajem swoich poczynań, dopóki się nie wykonają do samego końca. W przypadku transakcji masz też możliwość blokowania na poziomie pojedynczych wierszy, a nie całych tabel. Przykładowo, jeśli pobierasz dane zapytaniem SELECT i później na ich podstawie robisz INSERT, to takie dwie transakcje mogą się spokojnie wykonać równolegle, ale mogą dać złe wyniki (np. doda się dwukrotnie to samo). Wtedy możesz do SELECT dodać słowa FOR UPDATE i wtedy dwie transakcje będą mogły wykonać się tylko wtedy, jeśli nie będą operować na tych samych wierszach - w przeciwnym wypadku jedna zaczeka na drugą.
Oczywiście w przypadku sekcji krytycznych można zablokować całą tabelę przed wejściem w transakcję, nie ma przeciwko temu żadnych przeciwwskazań - oznacza to, że blokowanie oraz transakcje mogą się uzupełniać, jeśli zachodzi potrzeba. |
|
|
|
Black-Berry 2 skrypty w tym samym czaseie 4.03.2009, 11:44:28
zzeus Polecam:
Procesy
Wątki 4.03.2009, 13:10:28
Black-Berry Czemu nie podałeś mi linku do "kolei dwuszyno... 4.03.2009, 13:16:50 
sowiq Cytat(Black-Berry @ 4.03.2009, 13:16... 4.03.2009, 13:24:19
Zyx Nie rozumiem, dlaczego jeden procesor miałby być p... 4.03.2009, 13:20:28
Black-Berry Rozumiem że programy wykonują się r... 4.03.2009, 13:28:51 
sowiq Cytat(Black-Berry @ 4.03.2009, 13:28... 4.03.2009, 13:36:00
Zyx PHP reaguje w ten sposób, że wysyła to zapytanie d... 4.03.2009, 13:33:48
Black-Berry @Zyx Dzieki za wyczerpującą odpowied... 4.03.2009, 13:44:46
Orkan dodam tylko ze tabele moga byc blokowane np. wylac... 5.03.2009, 00:21:34
Black-Berry @Orkan Czy nie miałeś czegoś zle zaprojektowanego?... 5.03.2009, 11:13:19
Orkan Pewnie mozna by cos ulepszyc i sprawdzac przed zap... 5.03.2009, 16:25:01
Black-Berry No to w takiem razie mamy nieścisłość w stosunku d... 6.03.2009, 22:21:36 ![]() ![]() |
|
Aktualny czas: 29.12.2025 - 00:53 |