Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];

Вниз

Threads... (inside)   Найти похожие ветки 

 
Fellomena   (2002-03-20 10:49) [0]

Всем привет ! Объясните мне plz что происходит, когда я из цикла
запускаю поток, цикл заканчивается и программа тоже, а поток всё ещё работает ?
Он ведь по идее должен бцть уничтожен - так ? (программа не в WindowsLoop-е работает).
И в таком случае надо использовать, imho, WaitForSingleObject - так ?
Что бы понятно было о чём речь, код:

...
DO j = 1, count

if (j.EQ.count) then
ThreadHandle = CreateThread(0, 0, MyThread, 0, &
0, ID)
WaitResult = WaitForSingleObject (ThreadHandle, WAIT_INFINITE)
m = CloseHandle (ThreadHandle)
print *, j
EndIf

if (((j.GT.count2) .and. (mod(j,count2).EQ.0)) then

! ...
ThreadHandle = CreateThread(0, 0, MyThread, 0, &
! ... 0, ID)
m = CloseHandle (ThreadHandle)
print *, j
EndIf

End Do
! ...
! процедура, которая запускается в потоке
subroutine MyThread()
use dfmt

print *, "Thread work !!!"
CALL EXITTHREAD(0)
end subroutine

Можно я на Паскаль перебивать не буду - и так всё ясно, imho.
Так вот, при выполнении этого кода значения j выводятся на 1 больше, чем "Thread work !!!" (хотя не всегда)
Почему так ?



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2002.04.01;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.44 MB
Время: 0.005 c
14-290
Kozhanov
2002-02-15 16:05
2002.04.01
Windows XP


7-326
LinX
2001-12-21 01:09
2002.04.01
Виртуальный принтер


4-355
ilg
2002-01-30 17:17
2002.04.01
Как узнать Handle активного приложения!


1-157
Alex Dobrushin
2002-03-18 14:57
2002.04.01
Как показать и распечатать PDF файл?


14-285
vic_vm
2002-02-18 14:29
2002.04.01
Вопрос к lel





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский