среда, 29 марта 2017 г.

Многопоточность

На днях столкнулся с такой проблемой:
Написал многопоточный поисковик по тексту в текстовых файлах. Вроде бы программа всё делает правильно, но вот только результат выдаёт всегда разный - находит разное количество текстовых файлов, содержащих искомый текст. Результат может колебаться от 3 до 87 файлов.
И непонятно, где искать проблему...
Спросил совета у ментора, но он возиться с моим кодом не захотел и посоветовал сделать поисковик однопоточным и посмотреть, в какой части кода может быть ошибка. Сегодня буду переделывать, искать и снова переделывать. Пока, правда, не совсем понимаю, чем мне поможет дебагинг однопоточного поисковика, когда проблема явно связана с многопоточностью: один поток рекурсивно ищет файлы и для каждого найденного файла запускает отдельный поток, который проверяет, является ли файл текстовым и одержит ли искомый текст. Если бы проблема была не в многопоточности, то поисковик вообще ни чего не находил бы. ))

Из последних новостей: с потеплением меня снова потянуло на вело-покатушки и залезть подальше в горы. К выходным сделаю ТО велосипеду и может быть пару-тройку часов покатаюсь.
Начал по возможности чаще подыматься по ступенькам. Есть у нас местная достопримечательность - фуникулёр:

 Разница в высоте между нижней и верхней остановками фуникулёра составляет примерно 70 метров. Рядом с путями фуникулёра среди деревьев проложена лестница:



Лестница состоит из 368 ступенек. По ней подымаюсь примерно 2 - 3 раза в неделю, когда возвращаюсь из центра города в офис.
В молодости я спокойно пробегал всю лестницу снизу вверх, прыгая через одну ступеньку. При этом наверху у меня даже не сбивалось дыхание. В этом году первый раз смог пешком пройти, шагая через ступеньку, только 2/3 лестницы. На четвертый раз прошёл уже всю лестницу, шагая через одну ступеньку. Но потом был мокрый как мышь и долго восстанавливал дыхание. И ноги после такого восхождения какое-то время сами подгибались. Эта лестница - настоящий адский тренажёр! Такие любят показывать в китайских фильмах про ушу. Обычно по ним заставляют новых послушников монастыря Шао-Линь носить на гору воду. ))
Рассчитываю, что к маю уже смогу забегать на эту лестницу. А в мае собираюсь подняться на гору Пидан.


До      После      GitHub       LinkedIn      HeadHunter.ru