Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 4 037

/ вопрос открыт /

Приветствую, уважаемые эксперты!
У меня вопрос по потокам.
Мог бы кто нибудь дать нормальный рабочий пример/исходник (желательно с коментариями), многопоточного приложения ?
Интересует Многопоточность!

Приложение:
  1. Delphi 7


Ximer Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Ximer (статус: Посетитель)
Вопрос отправлен: 15 апреля 2010, 01:18
Состояние вопроса: открыт, ответов: 0.


Мини-форум вопроса

Всего сообщений: 17; последнее сообщение — 16 апреля 2010, 08:40; участников в обсуждении: 4.
Вадим К

Вадим К (статус: Академик), 15 апреля 2010, 01:47 [#1]:

А в чем проблема? в стандартной поставке есть пример, просто так с головы давать - скорее всего ничего хорошего не получиться.
Создать тред - это создать свой класс, наследник от TThread и перекрыть Execute
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 15 апреля 2010, 08:21 [#2]:

В интернете примеров, статей и книг - ну просто завались. Или это опять вопрос из серии "погуглите за меня"?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Ximer

Ximer (статус: Посетитель), 15 апреля 2010, 17:03 [#3]:

Да, я в курсе что есть книги и т.д.
Я попросил норм рабочий пример, а не в гугел посылать, я там был =)))
Мне не так уж хочется книгу читать ради примера пары потоков =/
Вадим К

Вадим К (статус: Академик), 15 апреля 2010, 17:47 [#4]:

Абстрактный пример? пожалуйста
создали новое приложение. добавим поток через File-New-Thread.
в новом юните в метод execute напишем Sleep(10000);
в основном приложении добавим в uses этот юнит с тредом и напишем код для кнопки
var myThread:TMyThread;
begin
  myThread := TMyThread.Create(True);
  myThread.FreeOnTerminated := true;
  myThread.resume;
end;

Все, приложение готово. Но боюсь оно Вас не удоволетворит:)
Галочка "подтверждения прочтения" - вселенское зло.
min@y™

min@y™ (статус: Доктор наук), 15 апреля 2010, 18:39 [#5]:

Цитата:

Я попросил норм рабочий пример, а не в гугел посылать, я там был =))) Мне не так уж хочется книгу читать ради примера пары потоков =/

Ну ваще народ обленился! Как же мы учились, когда не было интернета?
Вот тебе большая ссылка, где много примеров. Или ты хотел, чтобы тебе эти примеры сюда скопипастили?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Ximer

Ximer (статус: Посетитель), 15 апреля 2010, 20:54 [#6]:

Вадим К
Однопоточное не VCL приложения я умею делать/
Здесь либо:
пример/исходник (желательно с коментариями)
Либо при разговоре...

min@y™
Ну ваще народ обленился!
В том то и дело что небыло интернета =)))

Вот тебе большая ссылка
Да ты приколист...!

Гугел я юзаю 8 часов в сутки!!!
min@y™

min@y™ (статус: Доктор наук), 15 апреля 2010, 21:08 [#7]:

Цитата (Ximer):

Гугел я юзаю 8 часов в сутки!!!

А я - круглосуточно. Чем тебя не устраивает моя большая ссылка?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
DNK

DNK (статус: Студент), 15 апреля 2010, 22:08 [#8]:

min@y™: Наверное там ненормальные примеры.
"Digital Networked Knight"
Ximer

Ximer (статус: Посетитель), 15 апреля 2010, 23:02 [#9]:

Загадка:(Тема "Потоки")

var
  Form1: TForm1;
  hThread : HWND;
  ThreadID : DWORD;
  lpExitCode : DWORD;
  ThrExit :   BOOL;
 
implementation
 
{$R *.dfm}
 
procedure MyThread;  // Процедура потока
var
  i : Integer;
begin
  ThrExit:=false;
 
//Здесь что-то делаю {Работа первой процедуры}
 
if ThrExit = true then //Если заверщилась моя прога то завершаем поток
begin
GetExitCodeThread(hThread,lpExitCode);
ExitThread(lpExitCode);
end;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
begin
hThread:=CreateThread(nil,0,@MyThread,nil,0,ThreadID); //Создал поток
end;

Мне нужно Добавить ещё отдельный поток, для работы другой процедуры - Второй .
Что нудно Изменить/Добавить?
Вадим К

Вадим К (статус: Академик), 15 апреля 2010, 23:15 [#10]:

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

строка if ThrExit = true then - учитесь, учитесь так писать, если вам платят за кол-во букв:) С вас вырастет настоящий индус (индус - это индустриальный программист, а не национальность).
Галочка "подтверждения прочтения" - вселенское зло.
Ximer

Ximer (статус: Посетитель), 15 апреля 2010, 23:27 [#11]:

думаеш условие лишнее?!
Ximer

Ximer (статус: Посетитель), 15 апреля 2010, 23:28 [#12]:

Что значит наверное?
Вадим К

Вадим К (статус: Академик), 15 апреля 2010, 23:52 [#13]:

я не сказал, что оно неверное или ненужное. просто оно пишется так
if ThrExit then
И красивее выглядит, и глаз радует.
Галочка "подтверждения прочтения" - вселенское зло.
Ximer

Ximer (статус: Посетитель), 16 апреля 2010, 00:08 [#14]:

Уменя глаз радуется не когда я смотрю на код, а когда программа готова =)))
Ты сказал что "Ну так, наверно просто скопировать ещё один такой кусок".
"Что значит наверное?"
Вадим К

Вадим К (статус: Академик), 16 апреля 2010, 00:18 [#15]:

"наверное" это тонкий намек на явное решение, которое находиться под носом.

P.S. На форуме принято употреблять "Вы":)
Галочка "подтверждения прочтения" - вселенское зло.
Ximer

Ximer (статус: Посетитель), 16 апреля 2010, 00:40 [#16]:

Если вам так будет угодно Сер ;)
Или Чюткий Мистер Програмист?! =)))
min@y™

min@y™ (статус: Доктор наук), 16 апреля 2010, 08:40 [#17]:

Цитата (Вадим К):

строка if ThrExit = true then - учитесь, учитесь так писать, если вам платят за кол-во букв:) С вас вырастет настоящий индус (индус - это индустриальный программист, а не национальность).

Если бы мне платили пропорционально размерам моих исходников, я б мильёнером стал! Такой воды туда б налил, прицеплял бы стандартные модули к проектам (один Windows.pas чего стоит!). Проверять-то некому.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:48
Выполнено за 0.03 сек.