Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> 2 skrypty w tym samym czaseie
Black-Berry
post
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?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

Ostrzeżenie: (0%)
-----


Nie rozumiem, dlaczego jeden procesor miałby być przeszkodą. W jaki sposób pisałeś tego posta, jednocześnie słuchając muzyki, mając otwarty komunikator, edytor kodu i ściągając coś w tle? Twój komputer miał 5 procesorów czy jeden? Wielozadaniowość realizowana jest poprzez szybkie, niezauważalne dla człowieka, przełączenia między poszczególnymi zadaniami realizowane przez system operacyjny. PHP nie jest jakimś magicznie, szczególnie wyróżnionym programem, że w jego przypadku ta zasada nie obowiązuje. Jeśli FastCGI będzie mieć aktualnie pięć procesów PHP odpalonych, to w tym samym czasie mniej więcej może wykonywać się pięć skryptów. Jeśli Apache utworzy pięć wątków do obsługi żądań HTTP wymagających wykonania skryptu PHP, to one też się będą wykonywać równolegle. Nie jest to wprawdzie rzeczywista równoległość, bo w danym momencie wykonywane jest jedno zadanie, ale dzięki tym właśnie przełączeniom proces wykonywania wszystkich pięciu skryptów postępuje jednocześnie.

Co więcej, obecne procesory rzadko kiedy posiadają tylko jeden rdzeń - normą są dwa, a często spotkać już można i cztery. Jeśli system operacyjny przyporządkuje dwa skrypty do różnych rdzeni, będziesz mieć prawdziwą równoległość na jednym procesorze.

Tak więc używanie LOCK TABLES zawsze jest zasadne, bo nie żyjemy w czasach systemu CP/M i DOS-a, gdzie naraz mógł być uruchomiony tylko jeden program. A tak w ogóle to lepiej używać transakcji - dają to samo, co blokowanie, wymagają mniej zachodu i w razie wykrzaczenia się skryptu lub bazy w połowie transakcji wszystkie wprowadzone przez nią zmiany są natychmiast cofane.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 6.10.2025 - 08:22