ВУЗ:
Составители:
Рубрика:
12
который при объединении с относительным приоритетом
tpTimeCritical имеет значение общего приоритета , равное 31.
Задания
Создать поток и выполнить в нем следующие действия. В программе долж -
на быть предусмотрена возможность приостановить , возобновить и прекра-
тить выполняемые действия. Поток должен передавать главному процессу
свой статус, т.е. что он делает в данный момент и каков процент выполнения.
Действия:
1. Произвести поиск заданного файла на заданном диске по имени .
2. Произвести поиск подстроки в тексте (файле ).
3. Произвести подсчет занимаемого файлового пространства указанного ката -
лога, включая подкаталоги.
4. Выполнить сравнение двух указанных файлов. Результаты сравнения сохра-
нить в заданный файл.
5. Выполнить установку атрибутов файлов, включая подкаталоги.
6. Произвести сканирование списка процессов с выводом загруженных моду-
лей (Process32First, Process32Next, CreateToolhelp32Snapshot).
7. Произвести сканирование списка потоков с выводом родительских процес-
сов (Thread32First, Thread32Next, CreateToolhelp32Snapshot).
8. Произвести сканирование сети : домен, компьютеры (WNetEnumResource).
9. Шифрование каталога, т.е. всех файлов в этом каталоге и подкататалогов.
10. Форматирование текстовых файлов(*.txt) в определенном каталоге. Фор-
матирование заключается в следующем:
1) Все строки текста устанавливаются определенной длины . Если в строке
символов больше, то они переносятся на следующую строку.
2) Если перед редактируемой строкой имеется пустая строка, то текущая
строка считается началом абзаца и начинается с отступа.
Управление несколькими потоками
Как уже отмечалось, несмотря на то , что с помощью потоков можно решить
множество проблем программирования, они приносят с собой новые типы про -
блем, с которыми приходится сталкиваться в приложениях . Чаще всего эти но -
вые проблемы связаны с доступом со стороны нескольких потоков к таким гло -
бальным ресурсам , как глобальные переменные или дескрипторы . Кроме того ,
проблемы могут возникнуть в случае, когда, например, нужно обеспечить по -
стоянное возникновение некоторого события в одном потоке перед или после
некоторого другого события во втором потоке. В этом разделе вы узнаете , как
решить эти проблемы , используя средства, предоставленные в Delphi.
Хранение локальных данных потоков
Поскольку каждый поток представляет отдельный путь выполнения прило -
жения внутри процесса, было бы логично предположить , что на определенном
этапе потребуется средство хранения данных, связанных с каждым потоком.
Существует три метода хранения данных, уникальных для каждого потока.
12 ко торы й при о бъ единении с о тно сительны м прио ритетом tpTimeCritical имеетзначение о бщ его прио ритета, равно е31. Задан и я С о здатьпо ток и вы по лнитьв нем следую щ ие действия. В про грамме до лж - на бы ть предусмо трена во змо ж но сть прио стано вить, во зо бно вить и прекра- тить вы по лняемы е действия. П о ток до лж ен передавать главно му про цессу сво й статус, т.е. что о н делаетвданны й мо менти како впро центвы по лнения. Д ействия: 1. П ро извести по иск заданно го файланазаданно м дискепо имени. 2. П ро извести по иск по дстро ки втексте(файле). 3. П ро извести по дсчетзанимаемо го файло во го про странства указанно го ката- ло га, вклю чая по дкатало ги. 4. В ы по лнить сравнение двух указанны х файло в. Результаты сравнения со х ра- нитьвзаданны й файл. 5. В ы по лнитьустано вкуатрибутовфайло в, вклю чая по дкатало ги. 6. П ро извести сканиро вание списка про цессо в с вы во до м загруж енны х мо ду- лей (Process32First, Process32Next, CreateToolhelp32Snapshot). 7. П ро извести сканиро вание списка по токо в с вы во до м ро дительских про цес- со в(Thread32First, Thread32Next, CreateToolhelp32Snapshot). 8. П ро извести сканиро ваниесети:до мен, ко мпью теры (WNetEnumResource). 9. Ш ифро ваниекатало га, т.е. всех файло ввэтом катало геи по дкататало го в. 10. Ф о рматиро вание текстовы х файло в(*.txt) в о пределенно м катало ге. Ф о р- матиро ваниезаклю чается вследую щ ем: 1) В се стро ки текста устанавливаю тся о пределенно й длины . Е сли в стро ке симво ло вбо льш е, то о ни перено сятся наследую щ ую стро ку. 2) Е сли перед редактируемо й стро ко й имеется пустая стро ка, то текущ ая стро касчитается начало м абзацаи начинается со тступа. У п равлен и е н ес кольки м и п от окам и К ак уж е о тмечало сь, несмо тря на то, что с по мо щ ью по токо в мо ж но реш ить мно ж ество про блем про граммиро вания, о ни прино сятссо бо й но вы е типы про - блем, с ко торы ми прих о дится сталкиваться в прило ж ениях . Ч ащ е всего эти но - вы е про блемы связаны сдо ступо м со сторо ны неско льких по токо вк таким гло - бальны м ресурсам, как гло бальны е переменны е или дескрипторы . Кро ме того , про блемы мо гутво зникнуть в случае, ко гда, например, нуж но о беспечить по - стоянно е во зникно вение неко торо го со бы тия в о дно м по токе перед или по сле неко торо го друго го со бы тия во второ м по токе. В этом разделе вы узнаете, как реш итьэти про блемы , испо льзуя средства, предо ставленны е вDelphi. Хран ен и е локальн ы х дан н ы х п от оков П о ско льку каж ды й по ток представляето тдельны й путь вы по лнения прило - ж ения внутри про цесса, бы ло бы ло гично предпо ло ж ить, что на о пределенно м этапе по требуется средство х ранения данны х , связанны х с каж ды м по токо м. С ущ ествуеттри метода х ранения данны х , уникальны х для каж до го по тока.
Страницы
- « первая
- ‹ предыдущая
- …
- 10
- 11
- 12
- 13
- 14
- …
- следующая ›
- последняя »