Форум программистов, компьютерный форум CyberForum.ru

Вот интересно: Что же такое поток? - C++

Восстановить пароль Регистрация
 
Borkot
 Аватар для Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 182
Записей в блоге: 1
17.01.2013, 10:35     Вот интересно: Что же такое поток? #1
Мы часто используем cout<<;cin>>;scanf();printf();
но Себя впоймал на мысле, что же такое поток?Гугл подсказал что поток - это некий объект ядра через который
ОС управляет потоком. тогда вопрос сколько этих потоков он один для всех приложений или их несколько,или он управляет через указатели.
Скажите хоть копать в какую сторону.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
vxg
Модератор
 Аватар для vxg
2669 / 1680 / 158
Регистрация: 13.01.2012
Сообщений: 6,279
17.01.2013, 10:47     Вот интересно: Что же такое поток? #2
гугл вам про другой поток сказал.

Добавлено через 1 минуту
cin cout потоки потому что ведут себя подобно ммм... реке из которой мы черпаем данные.
а те потоки которые вам гугл вывел - это обособленные части процесса выполняющиеся параллельно
Borkot
 Аватар для Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 182
Записей в блоге: 1
17.01.2013, 11:15  [ТС]     Вот интересно: Что же такое поток? #3
Ну Я так понимаю поток это своего рода объект (река) для данных из которого происходит ввод вывод...
-=ЮрА=-
Заблокирован
Автор FAQ
17.01.2013, 13:56     Вот интересно: Что же такое поток? #4
Borkot, cin cout это методы потокового класса. В этом понимании слова поток заложена совершенна иная суть
Цитата Сообщение от Borkot Посмотреть сообщение
Гугл подсказал что поток - это некий объект ядра через который ОС управляет процессом
На пальцах так - есть класс, который завязан на консоль, ставя закарлючки в программе, коими являются операторы ввода/вывода << >> мы запускаем методы класса, а те в свою очередь ещё методы. Именно отработка методов потокового класса и даёт нам на экране цифры буквы, реакцию на нажатия клавиш.

Поток процесса же сложное для понимания понятие, но если на пальцах :
Представь, что процесс - это контора с кучей работников(работник - это поток). Так вот когда мы "просим программу"(это процесс - считай это директор конторы работников) что то сделать, она в свою очередь посылает выполнять работу какого-то работника. Суть распараллеливания на потоки, о котором ты также мог прочитать, состоит в том что на выполнение работы директор может выдать и несколько работников и работа сделается быстрее (т.к паралельно будет делаться).
Также у ОС есть инструмент - планировщик процессов - это ну не знаю как сказать - главный архангел системы(он ближе всего к ядру, ну сам понял ядро это Бог).
Так вот планировщику - процессы(директора) передают заявки на ресурсы(ну для простоты "человеко-часы" для решения конкретного задания), а уже наш планировщик, решает сколько и кому из диекторов (процессов) отвести времени доступа к богу. Когда директор получает доступ к богу - его работники быстренько делают задание. Время доступа ограничено потому некоторым процессам приходиться по долгу "общаться" с планировщиком, а в назначенное им время с ядром.
FreeMinder
 Аватар для FreeMinder
36 / 36 / 2
Регистрация: 29.08.2012
Сообщений: 59
17.01.2013, 14:28     Вот интересно: Что же такое поток? #5
Цитата Сообщение от -=ЮрА=- Посмотреть сообщение
cin cout это методы потокового класса
cin и cout это объекты класса istream и ostream соответственно, для которых перегружены операторы сдвига << >>
по теме: http://www.cplusplus.com/reference/iolibrary/
Igor3D
792 / 409 / 33
Регистрация: 01.10.2012
Сообщений: 2,067
17.01.2013, 14:36     Вот интересно: Что же такое поток? #6
Цитата Сообщение от Borkot Посмотреть сообщение
Мы часто используем cout<<;cin>>;scanf();printf();
но Себя впоймал на мысле, что же такое поток?
Где-то я видел простое и хорошее определение, примерно

"поток I/O - это перенос данных от источника к приемнику"

Когда мы пишем cout << мы знаем/уверены что cout понимает и делает с нашими данными то что нужно. А что конкретно - может быть всяко-разно (печатать в консоли, сохранять в файл и.т.д)
-=ЮрА=-
17.01.2013, 14:38
  #7

Не по теме:

FreeMinder, для облегчения понимания в своём ответе пользовался конструкциями которые будут понятны именно автору ТС, сути сказанного выше это не меняет. Скажем, ты сам понимаешь понятие объект потокового класса?

FreeMinder
17.01.2013, 15:03
  #8

Не по теме:


-=ЮрА=-, я понял тебя, просто метод и объект достаточно разные понятия. Если по простому взять, то объект потокового класса - инструмент для работы с потоком, а сам поток - это просто абстракция, набор байт информации, которая не зависит от устройства. К примеру можно взять и перенаправить стандартный поток вывода не на экран, а в файл, сам поток от этого не изменится, изменится устройство вывода. Как то так

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.01.2013, 23:05     Вот интересно: Что же такое поток?
Еще ссылки по теме:

C++ что такое поток?
C++ Как написать фразу I Love You, что б интересно было её разгадать
Что такое поток (stream)? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Borkot
 Аватар для Borkot
4 / 4 / 0
Регистрация: 05.05.2012
Сообщений: 182
Записей в блоге: 1
17.01.2013, 23:05  [ТС]     Вот интересно: Что же такое поток? #9
спасибо всем!
Yandex
Объявления
17.01.2013, 23:05     Вот интересно: Что же такое поток?
Ответ Создать тему
Опции темы

Текущее время: 04:13. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru