2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему
 
 Что такое потоки в C++?
Сообщение14.07.2015, 16:26 


14/05/15
29
Работать с потоками не сложно, но что такое потоки? Знаю, что поток это абстракция. Cin и cout это объекты, или потоки. Эти объекты (потоки) позволяют вводить и выводить данные.

 Профиль  
                  
 
 Re: Что такое потоки в C++?
Сообщение15.07.2015, 08:50 


11/12/14
893
Вообще сразу надо заметить, что потоки бывают "потоки данных" (streams) и "потоки выполнения" (threads).
Мы здесь говорим о первых.
В целом потоки это действительно некая абстракция цепочки байт. Мы можем положить в цепочку байты (информацию) и извлечь.
Применительно к файлам эта концепция так же сопровождается позицией в файле начиная с которой будут ложится или считываться байты (и при этом позиция автоматически продвигается вперед).
Применительно к сокетам при обмене данными по сети позиции как таковой нет - просто одна сторона получается первым то, что первым положила другая сторона (подобные реализации называют еще "трубами").
Так или иначе поток данных это абстракция вокруг данной концепции и ключевым фактором абстракции является то, что код с ней работающий не обязан знать какой экземпляр потока у него на руках - файлы ли, сокеты ли или что-то иное, он просто ложит байты и/или получает из потока согласно интерфейсу.

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

Я бы сказал что на них не стоит новичку смотреть, как на эталон того как стоит реализовывать потоки.
А так - да, абстракция, наследники ios.

 Профиль  
                  
 
 Re: Что такое потоки в C++?
Сообщение14.11.2015, 14:32 
Аватара пользователя


07/02/12
1403
Питер
aa_dav в сообщении #1037289 писал(а):
Я бы сказал что на них не стоит новичку смотреть, как на эталон того как стоит реализовывать потоки.
А так - да, абстракция, наследники ios.

По мне, так на них не стоит смотреть профессионалу =)

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 3 ] 

Модераторы: Karan, Toucan, PAV, maxal, Супермодераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group