Модераторы: Snowy, MetalFan, bems, Poseidon

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Распараллеливание потока 
:(
    Опции темы
eXa
Дата 19.7.2007, 04:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Драсти!
Есть цикл, каторый построчно перебирает значения из текстового файла, требуется распараллелить этот цикл на заданное количество потоков, для ускарения процесса. Сколько про потки мне не объясняли и сколько я про них нечитал, всё равно не пойму как это сделать, приветствуется пример!
Код

var
count, i, a: integer;
text: string;
 begin
  Count:= Ls.Count
  for i:= 0 to Count do
  begin
   text:= Ls.Strings[i];
   a:=  StrToInt(text) + 1;
  end;


Это сообщение отредактировал(а) eXa - 19.7.2007, 05:35
PM MAIL   Вверх
MetalFan
Дата 19.7.2007, 06:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



уууу дарагой!
пачитай умную книжку, да?! если ничего нипаймешь, значит праграммиравание нитвае!
з.ы. а еще сначала русский язык подучи. а то 2 ошибки в заголовке темы очень уж глаза режут.

Это сообщение отредактировал(а) MetalFan - 19.7.2007, 06:06


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
W4FhLF
Дата 19.7.2007, 07:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 1
Всего: 121



Распараллеливание в данном случае прироста к скорости не даст. 

Это сообщение отредактировал(а) W4FhLF - 19.7.2007, 07:32


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
Alexeis
Дата 19.7.2007, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



eXa, специально для таких случаев добрый дядя Петрович написал неплохую обучающую статейку для освоения главных принципов работы с потоками http://forum.vingrad.ru/index.php?show_typ...howtopic=163841

И перевел целую книжку http://forum.vingrad.ru/index.php?show_typ...showtopic=60076

Это сообщение отредактировал(а) Alexeis - 19.7.2007, 09:31


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
eXa
Дата 19.7.2007, 12:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Цитата(MetalFan @ 19.7.2007,  06:04)
уууу дарагой!
пачитай умную книжку, да?! если ничего нипаймешь, значит праграммиравание нитвае!
з.ы. а еще сначала русский язык подучи. а то 2 ошибки в заголовке темы очень уж глаза режут.

Маё, маё, но вот патоки мне даюца труднавато...
ps. а тут форум литературного кружка разве, на ошипки так реагировать? O_o 

Цитата

eXa, специально для таких случаев добрый дядя Петрович написал неплохую обучающую статейку для освоения главных принципов работы с потоками http://forum.vingrad.ru/index.php?show_typ...howtopic=163841

И перевел целую книжку http://forum.vingrad.ru/index.php?show_typ...showtopic=60076


Петрович круче всех конешно и за перевод ему 100 плюсов, но 95% информации каторой там есть мне просто не нужно, да и на практике я лучше как то понимаю, если ковот не затруднит выложите исходничик, в катором можно задавать кол-во потоков

Это сообщение отредактировал(а) eXa - 19.7.2007, 12:34
PM MAIL   Вверх
Alexeis
Дата 19.7.2007, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



Цитата(eXa @  19.7.2007,  12:30 Найти цитируемый пост)
Петрович круче всех конешно и за перевод ему 100 плюсов, но 95% информации каторой там есть мне просто не нужно, да и на практике я лучше как то понимаю, если ковот не затруднит выложите исходничик, в катором можно задавать кол-во потоков

  Изучение потоков не похоже на изучение нового компонента и класса. Это обширная тема. К теме потоков по-быстрому просто невозможно подойти. В этом случае лучше вообще не браться. Это как раз тот случай когда на примере нельзя разобраться и нужно очень хорошо знать теорию. 
  Чтобы было понятно, приведу такой пример. Просьба напоминает просьбу следующего содержания. 
Начинающий сапер спрашивает у опытного - покажи как как мне вот эту мину разминировать, а все остальные я как-нибудь сам придумаю как разминировать.
 
  Вот ты как раз тот начинающий сапер, который рвется на разминирование, так что мы тебя не зря не пускаем, так как многопоточность - это минное поле, причем там мины разных конструкций. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
MetalFan
Дата 19.7.2007, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Аццкий Сотона
****


Профиль
Группа: Комодератор
Сообщений: 3815
Регистрация: 2.10.2006
Где: Moscow

Репутация: 22
Всего: 128



Цитата(Alexeis @  19.7.2007,  12:54 Найти цитируемый пост)
 Вот ты как раз тот начинающий сапер, который рвется на разминирование, так что мы тебя не зря не пускаем, так как многопоточность - это минное поле, причем там мины разных конструкций.  

во загнул) smile 


--------------------
There are always someone smarter than you...
PM MAIL   Вверх
aktuba
Дата 19.7.2007, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата

Маё, маё, но вот патоки мне даюца труднавато...
ps. а тут форум литературного кружка разве, на ошипки так реагировать? O_o 


То, что дается трудно, видно по знанию русского языка. Попробуй сначала его поучить, прежде чем за другое браться. Если уж не можешь общаться на русском, как ты собираешься программы писать, где знание и соблюдение правил намного важнее!

Цитата

но 95% информации каторой там есть мне просто не нужно


Странная точка зрения. Представь - едешь на машине и знаешь только как руль крутить. Далеко уедешь? А как-же педали, коробка передач??? Про поворотники, фары, сигнал и многое другое - вообще лучше не упоминать. Да и про сапера пример отличный. Так что
Цитата

Маё, маё


явно не верно! Не твое это, если и за своей речью следить не можешь и программирование пытаешься по кусочкам изучать...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
eXa
Дата 19.7.2007, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Мне это напоминает бабулек около подъезда, с богатым жизненым опытом... Да во многом вы правы, но нинад подстраивать всё под себя, есть много методов обучения тому то и тому то, да и вообще бывают исключения даже у сапёров smile 

aktuba я тебя не понимать! Как можно приравнивать язык на катором разговариваеш с программированием, это тоже самое как прировнять его к физике или математике. Cкажи это Энштейну, каторому в школе язык ну никак не давался! Да и вообще это форум, у многих свои привычки общения в нём, не забывай этого, и пожалуст нинад так критично в чём то поучать, это же самое настоящие лицемерие!

Ну если исходник никто мне дать ненамерен(я уже большего не прошу), то тему можно закрыть! Дальше ток оффтоп может быть, можно во флейм перекинуть там и поспорим, если интерестно :P

Это сообщение отредактировал(а) eXa - 19.7.2007, 18:41
PM MAIL   Вверх
Romikgy
Дата 19.7.2007, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Любитель-программер
****


Профиль
Группа: Участник Клуба
Сообщений: 7326
Регистрация: 11.5.2005
Где: Porto Franco Odes sa

Репутация: 4
Всего: 146



Цитата(eXa @  19.7.2007,  17:40 Найти цитируемый пост)
Как можно приравнивать язык на катором разговариваеш с программированием,

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


--------------------
Владение русской орфографией это как владение кунг-фу — истинные мастера не применяют его без надобности. 
smile

PM   Вверх
aktuba
Дата 21.7.2007, 14:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата

Да во многом вы правы, но нинад подстраивать всё под себя


А никто под себя не подстраивает. Просто есть общие правила общения, которые надо стараться соблюдать. Так, например, если я буду отвечать на татарском - ты врядли захочешь общаться, верно? Так что будь добр, соблюдай правила хорошего общения, когда общаешься с другими.

Цитата

aktuba я тебя не понимать!


Очень жаль.

Цитата

Как можно приравнивать язык на катором разговариваеш с программированием, это тоже самое как прировнять его к физике или математике.


А учебники по физике или математике как написыны? Твоим стилем или общеразговорным? И как тебе будет более понятно и приятно читать книги, которые будут написаны твоим стилем???

Цитата

Да и вообще это форум, у многих свои привычки общения в нём, не забывай этого, и пожалуст нинад так критично в чём то поучать, это же самое настоящие лицемерие!


Вот именно!!! И надо уважать мнения других! Не я один тебе уже сделал замечание, а ты все по своему... Лицемерие - это не обращать внимание на других, т.е. в данном случае - это больше подходит тебе. Подумай над этим.

Цитата

Ну если исходник никто мне дать ненамерен


На форуме не будут за тебя решать задачу. Только помогут, но не более. Тем более, что тебе уже ответили - данный подход не поможет. А учитывая, что ты не обращаешь внимания ни на критику, ни на советы хорошие - вряд ли кто-то захочет тебе помочь...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Elerond
Дата 21.7.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 184
Регистрация: 18.6.2007

Репутация: нет
Всего: 3



Книги читай... есть такие как раз для новичков. Если надо могу сказать какая.  Там и про потоки есть.
--------------------
Мой блог
PM MAIL WWW   Вверх
eXa
Дата 23.7.2007, 04:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 1.12.2006

Репутация: нет
Всего: нет



Ребята это вы уже совсем про другое.. У меня же не свой язык общения или какой то сленг, а просто сокращения типа "ться" заменить на "ц" и само сабой есть какие то неумешленные ошибки каторые общий смысл предложения не меняют, причём хочу заметить что мозг воспринимает только первую и последнию букву в слове, а порядок между ними особова значения не имеет(если интересно гугл в помощь), да и учебники я писать не собираюсь, во всяком случии пока smile 

А терь по теме!

В этом случии я создаю 5 потоков?

Код

tnew = class(tthread)
protected
procedure execute; override;
end;

var
  new:array [0..4] of tnew;

procedure tnew.execute;
var
n: integer;
begin
n := 0;
while true do
begin
if n > 99 then
n:= 0;
form1.progressbar1.position := n;
inc(n)
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
i:= 4;
new[i]:= tnew.create(true);
new[i].freeonterminate := true;
new[i].resume;
end;



Это сообщение отредактировал(а) eXa - 23.7.2007, 04:20
PM MAIL   Вверх
aktuba
Дата 23.7.2007, 06:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Смышленный
***


Профиль
Группа: Завсегдатай
Сообщений: 1915
Регистрация: 24.4.2006
Где: Планета Земля

Репутация: 7
Всего: 38



Цитата

Ребята это вы уже совсем про другое.. У меня же не свой язык общения или какой то сленг, а просто сокращения типа "ться" заменить на "ц" и само сабой есть какие то неумешленные ошибки каторые общий смысл предложения не меняют, причём хочу заметить что мозг воспринимает только первую и последнию букву в слове, а порядок между ними особова значения не имеет(если интересно гугл в помощь), да и учебники я писать не собираюсь, во всяком случии пока smile 


Вот! Можешь же, когда хочешь  smile 

А по теме - нет, ты создаешь только один поток...


--------------------
user posted image
PM MAIL WWW Skype   Вверх
Alexeis
Дата 23.7.2007, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 34
Всего: 459



  Нужно вот это 
Код

new[i]:= tnew.create(true);
new[i].freeonterminate := true;
new[i].resume;

 в цикле вызывать, чтобы создать несколько потоков.


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0615 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.