Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.04.2013, 10:25   #21
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Цитата:
Сообщение от Avazart Посмотреть сообщение
А как можно занять процессор не целиком?

Да и дело не в процессоре, а в доступе к жесткому диску (если там копирование файлов)
Не целиком, это когда 99% отводится на бестолковые холостые итерации всеми четырьмя ядрами. Жёсткий диск может просто ёрзать головкой, а может "по пути" читать различные блоки данных. Плюс буферизация. Ведь зачем-то люди придумали многозадачность? Или думаешь, в этом тоже нет выигрыша?


Цитата:
Сообщение от Makin_tosh Посмотреть сообщение
Как передать указатель на форму?
Я увидел (потом), что использую глобальные переменные. Сейчас отказался от их использования, и объявил нужное их количество в классе TThread. Прогрессы заработали как надо. Но вопрос у меня еще давний: а как передать в PostMessage теперь имя файла, размер скопированного (я уже определил), одним словом строки.
Спасибо!!!
Указатель на форму передаётся как и любой другой указатель. Строку можно так же передать как указатель на массив символов. И учти, что при совместном доступе к данным из разных потоков могут быть проблемы, так что семафоры, эвенты и критические секции тебе в руки.
FataLL вне форума Ответить с цитированием
Старый 18.04.2013, 17:54   #22
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

Цитата:
е целиком, это когда 99% отводится на бестолковые холостые итерации всеми четырьмя ядрами.
Это если у тебя 4 ядра на машине, при чем не занятых.
Если ядро одно, то выигрыша не будет, единственный плюс - отсутствие подвисания формы.
Цитата:
читать различные блоки данных.
Насколько я знаю жесткий - разделяемый ресурс, а значит доступ к нему только поочередно ...
Цитата:
Ведь зачем-то люди придумали многозадачность? Или думаешь, в этом тоже нет выигрыша?
Думаю нет ...
Кроме того что люди "что-то" придумали нужно еще уметь им пользоваться, чудес не бывает...

Последний раз редактировалось Avazart; 18.04.2013 в 17:59.
Avazart вне форума Ответить с цитированием
Старый 18.04.2013, 20:47   #23
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Avazart
Даже если ядро одно, ничего не меняется. Каждый процесс выполняется определённое время, а остальное уходит на ожидание, в терминах диспетчера задач "Бездействие системы". Если у этого "бездействия" отобрать пару квантов времени на ещё одну полезную задачу, то процессор будет больше выполнять полезных задач, и меньше заниматься "бездействием".
Жёсткий диск может прочитать за один раз не один сектор с дорожки, а сразу всю дорожку? Может. А если на этой дорожке сразу несколько файлов [или их частей]? А если они принадлежат файлам разных процессов? Следовательно, каждый процесс получит свою порцию данных за один цикл чтения, а не "по очереди".
И вообще, зачем философствовать, зря болтая ерундой? Возьми и поэкспериментируй, засеки время, покопируй что-нибудь. А ещё лучше книжки соответствующие почитать...
FataLL вне форума Ответить с цитированием
Старый 19.04.2013, 01:09   #24
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

Цитата:
Даже если ядро одно, ничего не меняется. Каждый процесс выполняется определённое время, а остальное уходит на ожидание, в терминах диспетчера задач "Бездействие системы".
Ну это глупость ... пока есть задачи процессор не бездействует...
К тому же квант времени выделяется процессу, а не потоку.

Если ядро одно то о выигрыше и речи не может идти, тут будет даже проигрыш - из за затраченного времени на переключение потоков.

Цитата:
Жёсткий диск может прочитать за один раз не один сектор с дорожки, а сразу всю дорожку? Может.
Прочитать та возможно и может, но не записать ...
Avazart вне форума Ответить с цитированием
Старый 19.04.2013, 10:08   #25
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Avazart
Глупость в том, что спорим о достаточно тонких вещах, о которых имеем только незначительное представление, не находишь? Ты ставишь под сомнение весь принцип многозадачности. И только потому, что это расходится с твоим восприятием мира. Почитай книжку Руссиновича "Windows internals", может, встанешь на путь истинный
FataLL вне форума Ответить с цитированием
Старый 19.04.2013, 10:18   #26
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

Цитата:
Я только не пойму для чего тут несколько потоков ?

Выигрыша, то все равно не будет ...
тот же тотал командер копирует в потоках, тоже наверное ничего не понимают?
eval вне форума Ответить с цитированием
Старый 19.04.2013, 16:11   #27
Avazart
Форумчанин
 
Аватар для Avazart
 
Регистрация: 13.08.2011
Сообщений: 184
По умолчанию

Цитата:
Avazart
Глупость в том, что спорим о достаточно тонких вещах, о которых имеем только незначительное представление, не находишь? Ты ставишь под сомнение весь принцип многозадачности. И только потому, что это расходится с твоим восприятием мира. Почитай книжку Руссиновича "Windows internals", может, встанешь на путь истинный
Речь не о многозадачность, а о многопоточности хотя бы поэтому это глупость.
Цитата:
тот же тотал командер копирует в потоках, тоже наверное ничего не понимают?
Ээ а вы что в его исходники смотрели ? Откуда такая осведомленность ?
Avazart вне форума Ответить с цитированием
Старый 19.04.2013, 16:16   #28
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

для этого в исходники смотреть совсем не обязательно, есть другие возможности, системные мониторы и эксплореры процессов.
eval вне форума Ответить с цитированием
Старый 19.04.2013, 16:27   #29
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Цитата:
Сообщение от Avazart Посмотреть сообщение
Речь не о многозадачность, а о многопоточности хотя бы поэтому это глупость.
Цитата:
В операционных системах, где существуют и процессы, и потоки, процесс рассматривается операционной системой как заявка на потребление всех видов ресурсов, кроме одного — процессорного времени. Этот последний важнейший ресурс распределяется операционной системой между другими единицами работы — потоками, которые и получили свое название благодаря тому, что они представляют собой последовательности (потоки выполнения) команд.
Не надоело теоретизировать?
FataLL вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C# вывод в форму bestnicer Помощь студентам 0 30.01.2013 13:57
вывод из бд в форму маГГ85 PHP 4 28.02.2012 15:04
При освобождении обьекта TThread, он вешает всю программу. При этом код Execute у TThread уж выполнился.. Человек_Борща Общие вопросы Delphi 23 30.11.2011 09:18
при закрытии потока(Tthread) посылать на форму код ответа или сообщение Человек_Борща Общие вопросы Delphi 2 14.12.2010 21:19
Вывод на форму prosto_i Microsoft Office Excel 4 28.09.2010 00:45