|
Вопрос # 4 037/ вопрос открыт / |
|
Приветствую, уважаемые эксперты!
У меня вопрос по потокам.
Мог бы кто нибудь дать нормальный рабочий пример/исходник (желательно с коментариями), многопоточного приложения ?
Интересует Многопоточность!
 |
Вопрос задал: Ximer (статус: Посетитель)
Вопрос отправлен: 15 апреля 2010, 01:18
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 17; последнее сообщение — 16 апреля 2010, 08:40; участников в обсуждении: 4.
|
Вадим К (статус: Академик), 15 апреля 2010, 01:47 [#1]:
А в чем проблема? в стандартной поставке есть пример, просто так с головы давать - скорее всего ничего хорошего не получиться.
Создать тред - это создать свой класс, наследник от TThread и перекрыть Execute
Галочка "подтверждения прочтения" - вселенское зло.
|
|
min@y™ (статус: Доктор наук), 15 апреля 2010, 08:21 [#2]:
В интернете примеров, статей и книг - ну просто завались. Или это опять вопрос из серии "погуглите за меня"?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
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™ (статус: Доктор наук), 15 апреля 2010, 18:39 [#5]:
Цитата:
Я попросил норм рабочий пример, а не в гугел посылать, я там был =))) Мне не так уж хочется книгу читать ради примера пары потоков =/
Ну ваще народ обленился! Как же мы учились, когда не было интернета?
Вот тебе большая ссылка, где много примеров. Или ты хотел, чтобы тебе эти примеры сюда скопипастили?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Ximer (статус: Посетитель), 15 апреля 2010, 20:54 [#6]:
Вадим К
Однопоточное не VCL приложения я умею делать/
Здесь либо:
пример/исходник (желательно с коментариями)
Либо при разговоре...
min@y™
Ну ваще народ обленился!
В том то и дело что небыло интернета =)))
Вот тебе большая ссылка
Да ты приколист...!
Гугел я юзаю 8 часов в сутки!!!
|
|
min@y™ (статус: Доктор наук), 15 апреля 2010, 21:08 [#7]:
Цитата (Ximer):
Гугел я юзаю 8 часов в сутки!!!
А я - круглосуточно. Чем тебя не устраивает моя большая ссылка?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
DNK (статус: Студент), 15 апреля 2010, 22:08 [#8]:
min@y™: Наверное там ненормальные примеры.
"Digital Networked Knight"
|
|
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 (статус: Посетитель), 15 апреля 2010, 23:27 [#11]:
думаеш условие лишнее?!
|
|
Ximer (статус: Посетитель), 15 апреля 2010, 23:28 [#12]:
Что значит наверное?
|
|
Вадим К (статус: Академик), 15 апреля 2010, 23:52 [#13]:
я не сказал, что оно неверное или ненужное. просто оно пишется так
if ThrExit then
И красивее выглядит, и глаз радует.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Ximer (статус: Посетитель), 16 апреля 2010, 00:08 [#14]:
Уменя глаз радуется не когда я смотрю на код, а когда программа готова =)))
Ты сказал что "Ну так, наверно просто скопировать ещё один такой кусок".
"Что значит наверное?"
|
|
Вадим К (статус: Академик), 16 апреля 2010, 00:18 [#15]:
"наверное" это тонкий намек на явное решение, которое находиться под носом.
P.S. На форуме принято употреблять "Вы"
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Ximer (статус: Посетитель), 16 апреля 2010, 00:40 [#16]:
Если вам так будет угодно Сер 
Или Чюткий Мистер Програмист?! =)))
|
|
min@y™ (статус: Доктор наук), 16 апреля 2010, 08:40 [#17]:
Цитата (Вадим К):
строка if ThrExit = true then - учитесь, учитесь так писать, если вам платят за кол-во букв  С вас вырастет настоящий индус (индус - это индустриальный программист, а не национальность).
Если бы мне платили пропорционально размерам моих исходников, я б мильёнером стал! Такой воды туда б налил, прицеплял бы стандартные модули к проектам (один Windows.pas чего стоит!). Проверять-то некому.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|