1. Пользуйтесь тегами кода. - [code] ... [/code] 2. Точно указывайте язык, название и версию компилятора (интерпретатора). 3. Название темы должно быть информативным. В описании темы указываем язык!!!
здравствуйте. Нужно сделать задание, но сколько ни читаю, никак не приходит понимае что же все-таки и как нужно сделать.
само задание : Поиск слова, в нескольких текстовых файлах; 1)Выполнить задание последовательным алгоритмом; 2)Выполнить задание параллельным алгоритмом (обязательно использовать для разграничения общих ресурсов системные объекты синхронизации); 3)Сделать анализ быстродействия последовательного и параллельного алгоритмов.
буду очень благодарна, если кто-нибудь объяснит как делать.
Используешь, скажем, pthread... Пишешь функцию потока, которая открывает один файл, и шерстит его в поисках заданного слова. Потом создаешь несколько таких потоков, каждому из которых передаешь свое имя файла, и пускай каждый поток занимается своей работой. Это будет параллельное выполнение. А потом, для теста, делаешь обработку всех файлов одной и той же функцией, в цикле. И сравниваешь скорости.
Только вот тогда непонятно, о каких объектах синхронизации речь. Если каждый файл обрабатывается своим потоком, и никакие другие потоки в этот процесс (и в этот же файл) не лезут - то никаких проблем быть не может, и не нужны тут никакие синхронизации в принципе. Непонятно. Может, у тебя задан какой-то конкретный алгоритм поиска, который внутри одного файла тоже можно распараллелить (разбросать на несколько потоков)?
Используешь, скажем, pthread... Пишешь функцию потока, которая открывает один файл, и шерстит его в поисках заданного слова. Потом создаешь несколько таких потоков, каждому из которых передаешь свое имя файла, и пускай каждый поток занимается своей работой. Это будет параллельное выполнение. А потом, для теста, делаешь обработку всех файлов одной и той же функцией, в цикле. И сравниваешь скорости.
Только вот тогда непонятно, о каких объектах синхронизации речь. Если каждый файл обрабатывается своим потоком, и никакие другие потоки в этот процесс (и в этот же файл) не лезут - то никаких проблем быть не может, и не нужны тут никакие синхронизации в принципе. Непонятно. Может, у тебя задан какой-то конкретный алгоритм поиска, который внутри одного файла тоже можно распараллелить (разбросать на несколько потоков)?