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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.07.2014, 11:44   #1
aEN
 
Регистрация: 03.02.2011
Сообщений: 8
Восклицание Приложение с заданиями/задачами

Добрый день.

Полдня потратил на поиски информации в гугле, нашел только эту тему:
http://www.programmersforum.ru/showthread.php?t=238117
Скачал исходники Download Plus, но он не очень подходит (там, кажется, нельзя настраивать количество потоков на задание) и разобраться пока сложно, нужно больше теории.

Пожалуйста, подскажите, где найти информацию по этой теме, что почитать.

Необходимо создать приложение с задачами, наподобие таких, какие есть в менеджерах закачек. Т.е. нажимаешь кнопку "Добавить задачу", указываешь различные опции задачи и запускаешь. Одновременно может выполняться несколько заданий, при этом каждое задание может обрабатываться разным количеством потоков. Т.е. примерно, как в менеджерах закачек.

Например:
1 задача - одни опции, 5 потоков.
2 задача - другие опции, 7 потоков.
3 задача - на паузе.

Не знаю, как еще объяснить. Это вообще реализуемо?

Хотя бы укажите направление. Поиск в гугл и яндекс выдает только кучу ссылок с "решениями задач по Delphi". Литература, ссылки, советы, любая информация.

Большое спасибо.
aEN вне форума Ответить с цитированием
Старый 10.07.2014, 12:16   #2
FaTaL
Участник клуба
 
Аватар для FaTaL
 
Регистрация: 09.11.2007
Сообщений: 1,762
По умолчанию

Вам именно закачка из интернета нужна или что?
FaTaL вне форума Ответить с цитированием
Старый 10.07.2014, 13:29   #3
aEN
 
Регистрация: 03.02.2011
Сообщений: 8
По умолчанию

Мне вообще хотя бы базово объяснить принцип построения таких приложений, это не обязательно закачка, просто я привел это для примера. Как вообще такие приложения строятся?
aEN вне форума Ответить с цитированием
Старый 10.07.2014, 13:41   #4
aEN
 
Регистрация: 03.02.2011
Сообщений: 8
По умолчанию

Я работаю с потоками, многопоточными приложениями, но не могу найти источники по этой теме. В конечном итоге должно получиться что-то наподобие "управляющая форма - задачи наподобие тех, что в менеджерах закачек (в том плане, что можно добавлять, удалять, независимо управлять - запускать/останавливать) - потоки".

Я так все описываю непонятно, потому что не имею представления о принципах построения таких приложений.

Хоть бы литературу какую.
aEN вне форума Ответить с цитированием
Старый 10.07.2014, 13:45   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Код:
type 
  TThreadPool=class(TThreadList); 

Type
 TTask = class //Класс задачи
 private
 fName:string; //Имя задачи
 fParams :TTaskParams; //Объект параметров задачи, может можно в поток передать
 fThreads:TThreadPool; //Пул потоков задачи, не выносим на общее обозрение
public
  function Start:Boolean; //Запуск потоков, нативный fParams.Start;
  function Stop:Boolean; //Запуск потоков, нативный fParams.Stop;
  function Pause:Boolean; //Запуск потоков, нативный fParams.Pause;
  //тоже самое, fThreads.Size := Value
  property ThreadsCount:SmallInt read GetThreadsCount write SetThreadsCount;
  property Params:TTaskParams read fParams write fParams;
  //Уст. имя...
  property Name:string read fName write fName;

  конструкторы, деструкторы и прочее
 end;

type 
  TTaskManager = class TObjectList //Класс управления TTask, добавление, даление, обновление ListView ну или чего-нибудь другого
   //
  end;
Нет тут ничего сложного.
Человек_Борща вне форума Ответить с цитированием
Старый 10.07.2014, 19:44   #6
aEN
 
Регистрация: 03.02.2011
Сообщений: 8
По умолчанию

Спасибо, стало понятнее.

Если еще есть какая нибудь информация по теме или литература - буду признателен.

Да, еще вопрос, предположим, каждая задача оперирует своим большим массивом данных, как его передавать и обрабатывать?
aEN вне форума Ответить с цитированием
Старый 10.07.2014, 20:10   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Передавать кому и зачем? Гуглите распределенные вычисления... какраз по теме разделения одного труда между задачами...
Человек_Борща вне форума Ответить с цитированием
Старый 10.07.2014, 23:15   #8
aEN
 
Регистрация: 03.02.2011
Сообщений: 8
По умолчанию

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

Прошу прощения, если неясно изъясняюсь. Опыта не хватает.
aEN вне форума Ответить с цитированием
Старый 11.07.2014, 02:03   #9
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,926
По умолчанию

Цитата:
Сообщение от aEN Посмотреть сообщение
Мне вообще хотя бы базово объяснить принцип построения таких приложений, это не обязательно закачка, просто я привел это для примера. Как вообще такие приложения строятся?
Какие такие?
Цитата:
Я работаю с потоками, многопоточными приложениями, но не могу найти источники по этой теме. В конечном итоге должно получиться что-то наподобие "управляющая форма - задачи наподобие тех, что в менеджерах закачек (в том плане, что можно добавлять, удалять, независимо управлять - запускать/останавливать) - потоки".
Может поможет TThreadList
northener вне форума Ответить с цитированием
Старый 13.07.2014, 21:07   #10
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
Это не разделение одного труда между несколькими задачами. Мне нужно, чтобы были задачи, каждая из которых могла бы обрабатывать свой пакет данных с разным количеством потоков.
Ну дайте тогда каждому потоку свой TThreadParams и пускай работает.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Два заданиями по С++ Stiffler Фриланс 15 03.12.2009 15:38
Помогите с заданиями) Vodoley0192 Помощь студентам 5 14.10.2009 13:54
Помогите с заданиями!!! кирыч Помощь студентам 0 07.06.2009 15:12
Для облегчения работы с TFS - приложение для работы над дефектами и задачами Аякс Софт 1 18.03.2009 11:43
помогите с 2 заданиями(( m0zgt Паскаль, Turbo Pascal, PascalABC.NET 0 08.01.2009 13:09