Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Функции для работы с потоками
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Всем привет!
Не нашёл подходящего раздела для создания этой темы.
Суть вопроса в следующем:
объясните пожалуйста, что такое потоки и с чем их едят.
Здесь на сайте раздел "Функции для работы с потоками php" на инглише.
Но проблема даже ни в этом, а в том, что я не могу понять, когда и для чего они используются.
Т.е. мне было бы проще понять, если кто-нибудь мне объяснил на тривиальном примере что такое потоки, и
в каких случаях используются эти функции и для чего.
Заранее спасибо)
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Я не знаю не тех не других
sergtka4ov
Отправлено: 10 Января, 2012 - 20:35:32
Новичок
Покинул форум
Сообщений всего: 35
Дата рег-ции: Май 2010
Помог: 0 раз(а)
[+]
Механизмы работы с потоками
В PHP5 поддержка потоков претерпела множество изменений:
Более высокая производительность функций readfile(), fpassthru() и некоторых других стандартных функций для работы с потоками;
Новая функция stream_socket_client() - более мощный аналог сетевой функции fsockopen();
Новая функция stream_socket_accept() - принимает соединения клиента;
Новая функция stream_socket_get_name() - получает локальное или удаленное имя сокета;
Новая функция stream_copy_to_stream() - позволяет копировать поток в поток;
Новая функция, позволяющая читать информацию из потока до определенного символа или строки - stream_get_line();
Поддержка динамической загрузки OpenSSL;
Возможность работы функций opendir(), stat(), unlink() с FTP - соединениями.
armancho7777777
Отправлено: 10 Января, 2012 - 20:56:58
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Мне было бы проще понять, если кто-нибудь мне объяснил на тривиальном примере,
в каких случаях на практике используются эти функции и для чего.
caballero
Отправлено: 10 Января, 2012 - 22:51:33
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
в каких случаях на практике используются эти функции и для чего.
Доаольне нечасто используются. Потрать время на изучение чего нибудь более актуального.
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
caballero пишет:
Потрать время на изучение чего нибудь более актуального.
Ну я это и делаю)
Просто суть в том, что заглянул по ходу дела в мануал в соответствующий раздел,
а там всё на инглише. А хочу знать, потому как хочу быть полноценным прогером)
Ну и, человеческое любопытство - двигатель прогресса ))
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
armancho7777777 пишет:
каких случаях на практике используются эти функции и для чего.
самый простой пример
это в CURL
к примеру нужно прогрузить множество страниц, обычно это делается последовательно
а ведь каждую страницу которую грузит скрипт некий удаленный сервак должен еще сгенерить и на это уходит время, в итоге на последовательную прогрузку уходит уйма времени, как можно сэкономить время? грузить все страницы сразу, в итоге именно на прогрузку будет потрачено ну может чуть больше чем на самую долгую страницу
это все благодоря многопоточности, прогрузка каждой страницы идет в своем потоке, и никто не ждем пока закончится обработка предыдущих
armancho7777777
Отправлено: 10 Января, 2012 - 23:34:25
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
Спасибо DlTA!
А то я уже EuGenу ЛС написал
caballero
Отправлено: 10 Января, 2012 - 23:39:21
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
А хочу знать, потому как хочу быть полноценным прогером
программер тот кто умеет програмировать а не тот кто забивает голову всяким хламом. Нельзя объять необъятное, тем более что есть гугл (ну или форумы для тех кто гуглить не умеет)
DlTA
Только CURL законченное решение и что там происходит программист не видит. Почему я и написал что на практике, то есть своими руками, эти функции употребляются редко.
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
caballero пишет:
а не тот кто забивает голову всяким хламом
Прежде чем понять, что хлам это хлам, надо знать что это такое.
DlTA
Отправлено: 10 Января, 2012 - 23:51:44
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
caballero, не путайте машенистку с инженером, прогер это инженер, если вы считаете что вам достаточно уровня машинистки, печально.
armancho7777777
Отправлено: 10 Января, 2012 - 23:59:25
Активный участник
Покинул форум
Сообщений всего: 4526
Дата рег-ции: Февр. 2011 Откуда: Москва
Помог: 221 раз(а)
DlTA пишет:
caballero, не путайте машенистку с инженером, прогер это инженер, если вы считаете что вам достаточно уровня машинистки, печально.
Во-во (Добавление)
Кто-то же разработал CURL
Okula
Отправлено: 11 Января, 2012 - 00:25:50
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
caballero пишет:
Почему я и написал что на практике, то есть своими руками, эти функции употребляются редко.
К примеру для соединения с SMTP сервером можно применить
caballero
Отправлено: 11 Января, 2012 - 00:29:09
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
прогер это инженер, если вы считаете что вам достаточно уровня машинистки, печально.
Я программирую уже около 20 лет - не надо мне объяснять что такое прогер.
Цитата:
Прежде чем понять, что хлам это хлам, надо знать что это такое.
Нет. Сначала нужно понять что это нужная вещь а не хлам а потом учить. Чтобы все выучить жизни не хватит. А выучить все по чуть чуть - это не программер.
Я не знаю что там с потоками в PHP и мне это не интересно. Когда понадобится (что маловероятно раз не понадобилось за прошедшие 10 лет знакомства с PHP) я это прочитаю. Когда понадобится решать сложную задачу - я посмотрю какие есть средства в том или ином языке. Программер - тот кто умеет решать задачи (причем самстоятельно). А не тот кто помнит наизусть все функции PHP а о которых не помнит бежит на форум чтобы ему рассказали потому что не в состоянии прочитать мануал и разобрать код.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.