ну чего, по-флеймим малек ?

Все, что вы хотели знать о программизме, но боялись спросить.
Аватара пользователя
sobomax
Маньяк
Сообщения: 3699
Зарегистрирован: 29 июн 2006, 22:53
Откуда: Vancouver

Сообщение sobomax »

Marmot писал(а):
sobomax писал(а):Код который блокирует запускается в отдельном worker триде. Дальше объяснять или уже понятно?
Да, отстал я похоже от жизни, вот что оказывается нынче nonblocking-ом называют :)
А я вегда думал, что это когда весь IO делают в одном потоке, как например Squid или Postgresql во многич случаях...
Хм, по моему оно всегда так называлось. Non-blocking intefrace отличается от blocking тем что он возвращает управление в вызывающий код сразу же а не ждет завершения операции которая может занять неопределенно долгое время (network IO например).

-Maxim
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

sobomax писал(а): Хм, по моему оно всегда так называлось. Non-blocking intefrace отличается от blocking тем что он возвращает управление в вызывающий код сразу же а не ждет завершения операции которая может занять неопределенно долгое время (network IO например).
Хмм, тут похоже проблема терминологии
Мне всегда казалосЬ, что non-blocking операции не могут "занять неопределенно долгое время", сколько смогли, столько и прочитали/протолкнули, остальное доделаем в следующий раз...
Или в случае IO in multithread environment теперь тоже non-blocking называют??? :oops: :roll:
Аватара пользователя
sobomax
Маньяк
Сообщения: 3699
Зарегистрирован: 29 июн 2006, 22:53
Откуда: Vancouver

Сообщение sobomax »

Marmot писал(а):
sobomax писал(а): Хм, по моему оно всегда так называлось. Non-blocking intefrace отличается от blocking тем что он возвращает управление в вызывающий код сразу же а не ждет завершения операции которая может занять неопределенно долгое время (network IO например).
Хмм, тут похоже проблема терминологии
Мне всегда казалосЬ, что non-blocking операции не могут "занять неопределенно долгое время", сколько смогли, столько и прочитали/протолкнули, остальное доделаем в следующий раз...
Или в случае IO in multithread environment теперь тоже non-blocking называют??? :oops: :roll:
Правильно non-blocking операция не может занять "неопределенно долгое время", об этом и речь. А вот blocking вполне может. В случае сетевого IO с использованием stream protocol любая операция записи может занять неопределенное время потому что надо получить подтверждение от принимающей стороны, сделать ретрансмиты итд.

При чем здесь "IO in multithread environment"?

Я говорю о том что любой blocking API (IO, whatever) можно превратить в non-blocking вызовом этого API в отдельном worker thread и написанием небольшой обвязки.

-Maxim
Аватара пользователя
ajkj3em
Маньяк
Сообщения: 2063
Зарегистрирован: 12 ноя 2006, 06:53

Сообщение ajkj3em »

жжошь :) marmot кстати дурака валяет, если я правильно понимаю ..
Аватара пользователя
Marmot
Графоман
Сообщения: 39279
Зарегистрирован: 17 фев 2003, 17:58
Откуда: Caulfeild
Контактная информация:

Сообщение Marmot »

ajkj3em писал(а):жжошь :) marmot кстати дурака валяет, если я правильно понимаю ..
Не, ну а кто такое название топику-то дал? :lol: :roll: :oops:
i_van
Завсегдатай
Сообщения: 251
Зарегистрирован: 09 сен 2004, 23:58

Сообщение i_van »

sobomax писал(а): Чай в 21 веке живем - тулзов разных для profiling навалом вокруг. Чего там понимать-то не rocket science поди?
-Maxim
Про tools and profilers поподробнее pls. Кто чем пользуется для поиска deadlocks? Особенно интересуют интегрируемые с Visual C++ и недорогие.
Ответить