За последние 24 часа нас посетили 18046 программистов и 1657 роботов. Сейчас ищут 1540 программистов ...

Параллельное выполнение скриптов

Тема в разделе "PHP для новичков", создана пользователем stranger1101, 8 апр 2011.

  1. stranger1101

    stranger1101 Активный пользователь

    С нами с:
    4 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    Сейчас вот стал проверять как выполняются скрипты и был несколько удивлен.
    Ситуация такая. Есть два скрипта.

    sleep.php

    PHP:
    1.  
    2. <?php
    3.     echo date('H:i:s')."<br>\n";
    4.     for($i=0;$i<4;$i++)
    5.     {
    6.         sleep(3);
    7.         echo($i."<br>\n");
    8.     }
    9.     echo date('H:i:s')."<br>\n";
    10. ?>
    11.  
    и
    add.php
    PHP:
    1. <?php
    2.     echo date('H:i:s')."<br>\n";
    3.     for($i=0; $i<1e7; $i++)
    4.     {
    5.         $u = $i/2;
    6.         if ($i%1e5 == 0) printf("%d<br>\n",$i);
    7.     }
    8.     echo date('H:i:s')."<br>\n";
    9. ?>
    При запуске двух экземпляров второго - все хорошо, они начинают выполнятся примерно одновременно ну и как-то отрабатывают.
    А вот при запуске двух экземпляров первого все грустно - второй экземпляр начинает выполнятся только после того, как первый закончит работу.
    С чем это связано? Или это корректное поведение sleep()?
     
  2. stranger1101

    stranger1101 Активный пользователь

    С нами с:
    4 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    хм. похоже, ошибся. второй тоже последовательно вызывается.
    Вопрос - куда копать? В сторону настроек пхп/апача?
     
  3. stranger1101

    stranger1101 Активный пользователь

    С нами с:
    4 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    Но при этом два разных скрипта выполняются параллельно.
     
  4. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    А как ты запускаешь два экземпляра, из одного браузера с разных вкладок?
     
  5. stranger1101

    stranger1101 Активный пользователь

    С нами с:
    4 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    Именно так.

    Хм. При попытке сделать это из разных браузеров - все хорошо.

    Т.е. это поведение, специфичное для браузера?
     
  6. Invision

    Invision Активный пользователь

    С нами с:
    26 фев 2009
    Сообщения:
    1.437
    Симпатии:
    1
    Адрес:
    Томск
    какой браузер?
     
  7. stranger1101

    stranger1101 Активный пользователь

    С нами с:
    4 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    Хм. Вышеуказанным образом себя ведут Хром и Файерфокс. ИЕ и Опера ведут себя нормально.
     
  8. Volt(220)

    Volt(220) Активный пользователь

    С нами с:
    11 июн 2009
    Сообщения:
    1.640
    Симпатии:
    1
    Это весь скрипт?
     
  9. stranger1101

    stranger1101 Активный пользователь

    С нами с:
    4 апр 2011
    Сообщения:
    11
    Симпатии:
    0
    Да. Создавался именно с целью потестить как оно себя ведет.
     
  10. YSandro

    YSandro Старожил

    С нами с:
    7 апр 2011
    Сообщения:
    2.523
    Симпатии:
    2
    Ну вот в этом и дело. Запускай с разных браузеров и адресов (например, из виртуальной машины).