Имя: Пароль:
IT
Админ
В PHP нет многопоточности?
0 DirecTwiX
 
15.07.13
14:27
Т.е. пока один пхп скрипт не выполнится, второй выполнятся не будет?
Гугд работает также?

П.с. Т.е. нет необходимости блокировать таблицы БД?
1 Мизантроп
 
15.07.13
14:27
2 Fragster
 
гуру
15.07.13
14:27
чО?
3 Fragster
 
гуру
15.07.13
14:28
каша в голове
4 Волшебник
 
15.07.13
14:29
(0) Уйдите, пожалуйста, с мисты. Сейчас я читаю темы.
5 Никола_
Питерский
 
15.07.13
14:30
причем тут ПХП и таблицы БД ?
6 mikecool
 
15.07.13
14:31
(4) думаешь он тебе мозг поломает?
7 DirecTwiX
 
15.07.13
14:31
(2) Есть скрипт:

public function actionTest1()
   {
       //querySQL("lock tables users read;");

       sleep(5);
       echo time();

       //querySQL("unlock tables;");
   }

Открываю две странички одновременно, хочу увидеть два числа с небольшой разницей, а вижу два числа с разницей в 5 секунд
8 Fragster
 
гуру
15.07.13
14:32
(7) это не скрипт
9 Fragster
 
гуру
15.07.13
14:33
+ пхп имеет свойство быть не само по себе
10 DirecTwiX
 
15.07.13
14:33
(4) На ответах мейла не хотят отвечать.
(5) Как связан PHP и БД? В чём вопрос
11 DirecTwiX
 
15.07.13
14:34
(8) В определениях может и каша)
php-код
(9) Не понял
12 DirecTwiX
 
15.07.13
14:39
Переформулирую. Стоит ли заботится о блокировках таблиц БД, если многопоточность не реализована вручную (как в (1))?
13 acsent
 
15.07.13
14:39
(12) конечно
14 ДенисЧ
 
15.07.13
14:39
(12) да
15 acsent
 
15.07.13
14:39
много пользователей - много потоков
16 DirecTwiX
 
15.07.13
14:45
(13) и (15) немного различаются..
Т.е. если будет два пользователя, то выполнив (7) у каждого из них, будет два числа с разницей менее чем 5 секунд?
17 DirecTwiX
 
15.07.13
14:46
А всё. Тупанул.
Спасибо!
18 Xapac
 
15.07.13
14:46
(17) славатебегосподи
19 DirecTwiX
 
15.07.13
14:47
А почему когда один пользователь, две страницы, получается только 1 поток?
20 acsent
 
15.07.13
14:47
(19) кэширование соединений
21 Xapac
 
15.07.13
14:48
(19) мож апач у тя так настроен
22 DirecTwiX
 
15.07.13
14:48
Спасибо ещё раз - теперь всё встало на свои места
23 Asmody
 
15.07.13
14:59
в большинстве случаев — один процесс на каждый реквест. можно сделать многопоточность (есть "настоящие" треды http://www.php.net/manual/ru/book.pthreads.php), можно даже persistent-сервер повесить, только зачем?
24 DirecTwiX
 
15.07.13
15:03
(23) Хотел потестить блокировку таблиц MySQL, но в силу (7) не имею пока такой возможности. Погуглил - апач вроде не ограничивает число соединений (если не стоит модуль), в настройках пхп тоже не нашёл. Возможно дело в самом фреймворке - уже задал вопрос туда.
25 acsent
 
15.07.13
15:04
а мускле разве есть блокировки?
26 DirecTwiX
 
15.07.13
15:29
(25) Судя по гуглу, да. Да и мне кажется, что в любой нормальной СУБД они должны быть
27 Kreont
 
15.07.13
15:33
MySQL по дефолту идет без блокировок, их там надо как то включить.
Если сайт информ.-развлек.блокир не нужны.
28 Asmody
 
15.07.13
15:39
(27) вообще говоря, есть в mysql блокировки, причем зависит от используемой engine: в myisam табличные, а в innodb — row-level
29 Kreont
 
15.07.13
16:23
(28) О точно, как раз такое при создании пхпмайадмин спрашивает )
30 Torquader
 
15.07.13
22:23
Блокировки нужны только в случае записи критичных данных, чтобы два процесса не переписали друг-друга - в остальных случаях можно жить без блокировок - хотя, даже на мисте бывает, когда две записи получаются с одинаковым номером.
31 Asmody
 
15.07.13
22:36
(30) сейчас очень редко, поскольку транзакции и prepared-запросы
32 Torquader
 
15.07.13
22:46
(31) Ну, конечно, можно сначала генератор опрашивать, а потом в запрос значение вставлять, тогда вероятность одновременного опроса генератора будет очень мала (а, если он правильно реализован, то и вообще ноль).
А транзакция, от совпадения никоим образом не спасает, а даже наоборот - способствует.
33 sttt
 
15.07.13
23:15
может это будет интересно (comet, pushup): http://code.google.com/p/webchat2/