Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Создание Child процесса
 
 автор: Poison   (28.03.2007 в 13:10)   письмо автору
 
 

Есть проблемка...


<?php

function test() {
    while (
true) { echo "Is Work!"; }
}

while (
1) {
    echo 
"Work...";
    
test();
}
    
?>


Етот код призапуске выведет:


Work...Is Work!Is Work!Is Work!Is Work!Is Work!Is Work!Is Work! и т.д.


Так-вот как зделать чтобы при вызове функ test первый цикл все равно продлжал работу и тем временем выполнялась функция test?

   
 
 автор: bronenos   (28.03.2007 в 13:26)   письмо автору
 
   для: Poison   (28.03.2007 в 13:10)
 

многопоточность? не выйдет.....

   
 
 автор: bronenos   (28.03.2007 в 13:31)   письмо автору
 
   для: Poison   (28.03.2007 в 13:10)
 

можно попробовать что то в роде этого
<?php
function first() { print 'first '; }
function 
second() { print 'second '; }
function 
third() { print 'third '; }

while (
true)
{
  switch (
rand(0,2))
  {
    case 
0first(); break;
    case 
1second(); break;
    case 
2third(); break;
  }
  
sleep (1); // для меньшей нагрузки
}
?>

   
 
 автор: Poison   (28.03.2007 в 13:44)   письмо автору
 
   для: bronenos   (28.03.2007 в 13:31)
 

Нет ет не то:)
Попробую обьяснить...

Мне это нужно для ICQ Bota

бот работает в цикле

<?
while (true)
     
$message $msg;

     switch(
$message) {

      case exit;
          exit();
      break;

     case 
translate:
       
/// функция перевода=)
     
break;

}
?>


Так вот:
Когда юзер дает команду translate бот выполняет функцию перевода и отдает ответ юзеру, но пока он не выполнит перевод другие юзеры до него достучаться не смогут:((( так вот как мне зделать так что скрипт запускал функцию перевода как-бы в другом процесе????

   
 
 автор: Poison   (28.03.2007 в 19:18)   письмо автору
 
   для: Poison   (28.03.2007 в 13:44)
 

up

   
 
 автор: Poison (не дома)   (28.03.2007 в 21:35)
 
   для: Poison   (28.03.2007 в 19:18)
 

Да... наверно надо ждать cheops'а:)

   
 
 автор: Киналь   (28.03.2007 в 22:10)   письмо автору
 
   для: Poison   (28.03.2007 в 13:44)
 

> пока он не выполнит перевод другие юзеры до него достучаться не смогут:(((

Разве? Бот - это ведь обычный скрипт, запускаемый сервером. А сервер запускает столько его, скрипта, клпий, сколько пользователей его требуют. Так что одна копия может заниаться переводом, тогда как остальные спокойно обрабатывают запросы других пользователей. Или я чего-то не так понял?

   
 
 автор: Poison (не дома)   (28.03.2007 в 22:55)
 
   для: Киналь   (28.03.2007 в 22:10)
 

Да ето обычный скрипт но он работает один! и некаких других не запускаеться=)
Посмотреть как "тупит" бот можно отправив ему все ту-же translate[Робот] и тут же выполнить еще чтонить (он будет молчать:(
- Bot 489-521-108

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования