Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: С++ / Мультипоточность
 
 автор: Boss   (25.07.2006 в 11:15)   письмо автору
 
 

Сталкнулся с таким понятием на одном форуме по С++. Есть представление что такое поток. А вот что такое мультипоточность, для чего нужна и как сделать реализацию???

   
 
 автор: cheops   (25.07.2006 в 11:43)   письмо автору
 
   для: Boss   (25.07.2006 в 11:15)
 

Каждый процесс может запускать несколько потоков, один допустим обрабатывает запросы от GUI-интерфейса, другой что-то обсчитывает в это время, третий рвётся на сайт программы за свежими новостями - выполняются они одновременно, это и называется многопоточным выполнением или мультипоточностью. Создаётся поток при помощи API-функции CreateThread в Windows или при помощи системного вызова fork в UNIX. Программирование их дело достаточно муторное, так как приходится заботиться о синхронизации, когда несколько потоков обращаются к одному и тому же ресурсу, например, файлу.

   
 
 автор: Boss   (25.07.2006 в 11:55)   письмо автору
 
   для: cheops   (25.07.2006 в 11:43)
 

А вообще как в чистом С++, реализовывать несколько потоков?
Например у меня есть 3 файла объемом 20 мб каждый, мне нужно обработать их не по отдельности(через цикл например), а одновременно?

   
 
 автор: cheops   (25.07.2006 в 13:15)   письмо автору
 
   для: Boss   (25.07.2006 в 11:55)
 

Чистый С++ не обладает такой способностью, так как потоки - это сугубо юрисдикция операционной системы, каждая операционная система реализует их по разному и предоставляет свой собственный интерфейс для работы с ними.

   
 
 автор: CrazyAngel   (25.07.2006 в 14:10)   письмо автору
 
   для: cheops   (25.07.2006 в 13:15)
 

А веть это же можно реализовать, если запустить сразу несколько приложений?
Или нет?

   
 
 автор: BobiKK   (25.07.2006 в 14:17)   письмо автору
 
   для: CrazyAngel   (25.07.2006 в 14:10)
 

Одновременное исполнениен нескольких приложений и есть системная реализация многопоточности.
Например, в DOSe такое невозможно

   
 
 автор: cheops   (25.07.2006 в 14:44)   письмо автору
 
   для: BobiKK   (25.07.2006 в 14:17)
 

Это на уровне операционной системы, а так каждый отдельный процесс внутри себя может выпонять отдельные потоки, т.е. здесь имеется многопоточность в рамках одного приложения.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования