Форум: "Потрепаться";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
ВнизПотоки Найти похожие ветки
← →
Сатир (2002-05-10 17:59) [0]Кто знает, какая существенная разница между классом TThread и классом TStream?
← →
McSimm (2002-05-10 18:26) [1]Проще сказать что между ними общего :)
Ничего. За исключением предка TObject и ошибочной терминологической путаницы слова "поток".
← →
Сатир (2002-05-10 19:36) [2]да... что-то скудно у нас на счёт сравнения этих классов:-)
Вот мне пришла в голову идея, что класс TThread используется для создания так называемой многозадачности, то есть представляет интерфейс для создания нескольких потоков , в которых буду выполнятся программируемые задачи, а класс TStream используется в основном для системных нужд, то есть TFileStream, TMemoryStream и т. д..
Но меня интересует, может кто знает, какая разница в принципе работы этих двух классов, скажем так, на процессорном уровне.
Только не надо меня отсылать к исходникам, я уже там был:-)
← →
Anatoly Podgoretsky (2002-05-10 19:44) [3]А чем разница между часами и калькулятором? И то и то считает.
← →
McSimm (2002-05-10 20:17) [4]Предлагаю также обсудить какая существенная разницу между Label (которая для goto используется) и TLabel
Наверно главное отличие в том, что label используется для реализации так называемых безусловных переходов, а TLabel используется в основном для графических нужд.
:)
Этой ветке явно пора в "Потрепаться" :-)
← →
Сатир (2002-05-11 14:29) [5]2McSimm
> За исключением предка TObject и ошибочной терминологической
> путаницы слова "поток".
И в чём же заключается ошибочная терминология слова "поток"?
← →
McSimm (2002-05-11 14:39) [6]Путаница заключается в том, что разные английские термины Thread и Stream почему-то принято называть одним русским - "поток". Термин "нить" хоть и имеет хождение, но не прижился.
TThread используется для реализации дополнительного вычислительного потока ( я тоже привык к этому термину ) в приложении
TStream - базовый класс для классов, реализующих операции чтения/записи потоков данных (в/из памяти, файлов etc)
← →
Сатир (2002-05-11 15:00) [7]Как я и полагал. А как на счет реализации на процесорном уровне?
Как там дела обстоят?
← →
Anatoly Podgoretsky (2002-05-11 15:16) [8]Процессорный уровень ничего выше не знает
← →
Cobalt (2002-05-11 15:30) [9]Что ты понимаешь под
> процесорным уровнем?
← →
drpass (2002-05-11 16:36) [10]На процессорном уровне и тот, и другой класс преставлен в виде набора инструкций x86. Уже ведь десять раз сказали, что между этими классами ничего общего нет!
← →
Сатир (2002-05-11 17:55) [11]2drpass
OK. А на счет инструкций поподробней можно?
У какого класса больший приоритет?
Можно ли запрограмировать свой экземляр класс TThread, который будет эмулировать определённого наследника класса TStream, напр., TMemoryStream? И не будет ли он ругаться с настоящим классом (т. е. , с оригиналом)?
← →
McSimm (2002-05-11 18:01) [12]нет слов
← →
MBo (2002-05-11 18:05) [13]издевается
← →
Cobalt (2002-05-11 18:14) [14]Аааааааааа.....
Ну, если на уровне инструкций, то они абсолютно не совместимы - исходный код то у них разный, ну, соответственно и машинный тоже. Это как одна повесть отличается от другой на уровне букв. Или, наоборот, совершенно одинаковы - используют то они одни и те же инструкции. Правда, в разном порядке;)
Насчет приоритетов. Приоритеты имеют только Потоки КОДА (в Вин32 АПИ). А потомки TThread могут только задавать функцию входа в новый поток и устанавливать его приоритет по сравнению с другими потоками этого процесса (в том числе и т.с. "основного", т.е который запускается первым и в котором работает VCL)
> Можно ли запрограмировать свой экземляр класс TThread, который
> будет эмулировать определённого наследника класса TStream,
> напр., TMemoryStream? И не будет ли он ругаться с настоящим
> классом (т. е. , с оригиналом)?
Лучше почитай книжку по ТурбоПаскалю/Дельфи, раздел ООП.
Там есть примеры и подробно разжевано.
← →
Сатир (2002-05-11 18:42) [15]2Cobalt
а какую книжку читать лучше? мой Турбо пас уже сильно потрепался, а по делфям в руках держал книжек пять:-)
← →
Сатир (2002-05-11 18:44) [16]2McSimm
а чё так слабо?
2Mbo
и совсем даже и не издеваюсь
надо же как-то народ растормошить:-)
← →
drpass (2002-05-11 18:49) [17]>Сатир
Сегодня ведь не первое апреля, так?
1. Больший приоритет у класса TThread, т.к. приоритет его выполнения задается произвольно с помощью функции SetThreadPriority, в то время, как TStream вынужден довольствоваться приоритетом того потока, из-под которого выполняются его методы :)
2. Можно. Не взирая на отсутствие в Объектном Паскале множественного наследования, вполне допускается использовать агрегирование для порождения объектов, обладающих функциональностью нескольких классов, например, TThread и TMemoryStream. Или даже TThread и TLabel.
← →
kaif (2002-05-11 18:52) [18]Меня не покидает чувство, что вопрос очень странный...
← →
Cobalt (2002-05-11 18:55) [19]
> допускается использовать агрегирование для порождения объектов,
> обладающих функциональностью нескольких классов
Это как?
> Сатир (11.05.02 18:44)
У меня был Фаронов, ТП 7.0
А насчет эмуляции... Используйте каждый класс по назначению. Вы ведь не будете варить суп на сковородке, или, точнее, в кофемолке?
← →
Сатир (2002-05-11 19:15) [20]2kaif
это хорошо, что оно тебя не покидает
Будет тогда больше шансов расспросить тебя, что ты об этом думаешь:-)
2Cobalt
нестандартные задачи требуют нестандартные решения, а некоторые нестандартные ситуации требуют таких жертв как кофемолка.
Если нет каструли, не будешь же отказываться от супа
2drpass
а чё, высаживает на измену мой ник? Сегодня 11 мая:-)
← →
drpass (2002-05-11 19:43) [21]>Сатир
Да нет. Ник, как ник. Ничего себе, обычный ник. А вот вопросик-то растаманский.
>Cobalt
Это страшное слово сводится к простейшей вещи - объявить в одном классе член данных, являющийся экземпляром другого класса.
← →
Malder (2002-05-12 00:37) [22]Сатир, знаешь, глядя на твой вопрос, а особенно на дополнительные вопросы, мне вспомнилась одна примечательная личность из этого форума... у тeбя раньшe другого ника не было ?
← →
Сатир (2002-05-13 17:54) [23]2Malder
И чем же та личность была примечательной? Может мне удастся хоть немного отличиться от данного стереотипа:-)
← →
Cobalt (2002-05-13 23:23) [24]2 Сатир (11.05.02 19:15)
>Если нет каструли, не будешь же отказываться от супа
Ну, возьмем другой пример, скажем, по учебнику астрономии не приготовить блюда. А если можно, то это уже не учебник по астрономии ;))
← →
McSimm (2002-05-14 10:38) [25]to Сатир
Не мог бы ты рассказать предысторию возникновения этой темы. Очень интересно какие нестандартные задачи завели тебя в эти дебри.
Если это не просто абстрактные размышления, а практика, то попробуем найти решение. Если же это просто размышления, то учти, что они бессмыслены. Совсем. И пользы от них не будет. (Я так и не избавился от ощущения что ты просто прикалываешься)
← →
Сатир (2002-05-14 14:08) [26]2McSimm
см. название раздела форума - "Потрепаться":-)
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2002.06.17;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.007 c