Многопоточность+интерактивность

 
 
 
Сообщения:21
Здравствуйте! У меня есть программа которая ищет файлы на диске удовлетворяющие заданному условию. Теперь ее нужно переделать, сделать серверную часть, в которой должен существовать thread, из которого и только из него выполняется обращение к файловой системе. Но "телнет сервер" должен быть многопользовательским + интерактивным.
К примеру: если на сервер зайдут одновременно 4 клиента и каждый задаст "поисковый запрос", то результаты к клиентам должны приходить параллельно, а не последовательно, т.е. пользователь не должен ожидать завершения выдачи результатов всем предшествующим пользователям.

Как мне реализовать многопользовательность+интерактивность, и чтобы обращение к файловой системе было только из одного потока?


Если я создам отдельный поток для каждого клиента, и один поток для поиска файлов, то как они будут получать результат параллельно, если поток для поиска файлов только один?

За раннее спасибо
 
 
Сообщения:949
А что это за ограничение такое - всего один поток-поисковик файлов? Зачем?

"Знать может каждый дурак... Дело в том, чтобы понять." А. Эйнштейн.
 
 
Сообщения:1582
А не лучше ли засунуть имена и пути к файлам в базу и искать уже по ней, периодично обновляя базу?

Make HTTP requests easy. http-master.com
 
 
Сообщения:949
Kaba_Misha:
Это мне на собеседовании дали.

Тогда, думаю, следует привести полные текст задания, дословно. Чтобы никто не строил домыслов - может кто возьмётся помочь, а окажется, что делает совсем не то, что требуется.

"Знать может каждый дурак... Дело в том, чтобы понять." А. Эйнштейн.
 
 
Сообщения:1339
Kaba_Misha:
Сказал что есть какая-то классическая схема writer consumer, вроде точно не помнит название.

Producer consumer

datatalks.ru - анализ данных, статистика, машинное обучение
 
 
Сообщения:21
Да, оно. Я уже разобрался всем спасибо:)
 
 
Сообщения:88
Kaba_Misha:
Да, оно. Я уже разобрался всем спасибо:)

не жадничай - выложи код, я бы интереса ради код почитал
 
 
Сообщения:949
time2die:
Kaba_Misha:
Да, оно. Я уже разобрался всем спасибо:)

не жадничай - выложи код, я бы интереса ради код почитал

Продюсер-консьюмер - пожалуй один из самых подробно разобранных по косточкам шаблонов в интернетах.. Кажется даже в википедии есть.

"Знать может каждый дурак... Дело в том, чтобы понять." А. Эйнштейн.
 
 
Сообщения:2
И каким путем достигается интерактивность если ресурс файлововой системы ограничен одним потоком?
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет