9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
1

Многопоточность в консольном приложении

07.11.2016, 02:19. Показов 2229. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Осуществил многопоточную работу приложения, но проблема в том, что через syncronize не хочет ничего выводить. Если напрямую без синхронизации то он выводит нормально, но как только использую synchronize, то ничего не происходит.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
{...}
        try
          HTTP.Get(url);
          if HTTP.Response.ResponseCode=200 then
          iRes:=2 else iRes:=1;
        except
          iRes:=3;
        end;
      Synchronize(Sync);
      HTTP.Free;
      SSL.Free;
      end;
  end;
end;
 
procedure Thread.Sync;
begin
 WL(iRes,url);  //WL процедура для вывода строки определенного цвета
 end;
end;
Делал поток так как и в делал в VLC приложениях. Может в консольном нужно по другому?

Добавлено через 11 часов 35 минут
Достойная ли альтернатива BeginThread() EndThread()??
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
07.11.2016, 02:19
Ответы с готовыми решениями:

Ошибка в консольном приложении
работаю в консольном приложении при компиляции ругается на этот код ShellExecute(handle,'open',...

Таймер в консольном приложении
Создаю таймер в консольном приложении Дельфи. Ошибок нет но он не работает. (проверяю через...

Обработка картинки в консольном приложении
Всем привет, сделал объектную программу (есть форма, кнопки, и т.д.) для простой обработки...

Перезапись строк в консольном приложении
Не знаю как правильно загуглить, пробовал по разному и нечего толком не нашел. Вот к примеру в...

6
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
07.11.2016, 02:26 2
Простите за дурацкий вопрос. А нафига консольному приложению многопоточность?
0
INstantKiLLer
07.11.2016, 02:30  [ТС]
  #3

Не по теме:

Спроси у себя, а зачем VLC приложениям многопоточность, или зачем вообще придумана была многопоточность. Будет тебе ответ.

0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
07.11.2016, 02:45 4
В VCL приложении никаких вопросов к многопоточности нет!
А в консольном приложении, которое представляет из себя диалог пользователь - программа, я не понимаю многопоточность! Уж извини.
0
INstantKiLLer
07.11.2016, 02:48  [ТС]
  #5

Не по теме:

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

0
пофигист широкого профиля
4732 / 3167 / 858
Регистрация: 15.07.2013
Сообщений: 18,248
07.11.2016, 03:18 6
Во-первых многопоточность никогда не ускоряет работу программы, кроме некоторых случаев, которые к твоему вопросу не имеют никакого отношения.
А во-вторых приведи пример кода, когда "проверка прокси на работоспособность" во многопоточном приложении будет происходить лучше или быстрее, чем в однопоточном.
Ну и ещё раз. Это всё относится к VCL приложениям. Но никак не к консольному.

Добавлено через 16 минут
Вот единственный случай, когда многопоточность позволяет ускорить работу программы
Распределённые вычисления
0
9 / 9 / 3
Регистрация: 11.10.2014
Сообщений: 363
07.11.2016, 03:32  [ТС] 7
Цитата Сообщение от northener Посмотреть сообщение
Во-первых многопоточность никогда не ускоряет работу программы, кроме некоторых случаев, которые к твоему вопросу не имеют никакого отношения.
Ну и ещё раз. Это всё относится к VCL приложениям. Но никак не к консольному.
Давайт ты не будешь тратить ни мое, ни свое время бессмысленными вопросами. Есть куча консольных программ которые работают многопоточно, такие как vnc или вот "ICMPmultiThreadPingTest - Консольная программа для быстрого, многопоточного ICMP сканирования локальной сети."
Цитата Сообщение от northener Посмотреть сообщение
А во-вторых приведи пример кода, когда "проверка прокси на работоспособность" во многопоточном приложении будет происходить лучше или быстрее, чем в однопоточном.
Если бы был код, я бы не задавал здесь вопрос.

Не по теме:

А если хочешь просто подискутировать, то нечего засорять тему, пиши в личку

0
07.11.2016, 03:32
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.11.2016, 03:32
Помогаю со студенческими работами здесь

Убрать ошибки в консольном приложении
{$APPTYPE CONSOLE} uses SysUtils; type TTable = object public constructor...

Параметры команд в консольном приложении
Есть задача, нужно чтобы после введения определенной команды например "run" ей можно было задать...

Строки AnsiString в консольном приложении
не очень понятно использование типа AnsiString в консольном приложении. С 1 стороны хочется иметь в...

Форма на консольном приложении Delphi
я хочу написать консольное приложение которое создаёт форму, но она существует какое то время а...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru