|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
12.06.2012, 15:11 | #21 |
Пользователь
Регистрация: 10.06.2012
Сообщений: 44
|
Просто хотелось бы узнать, какие еще проблемы могут возникнуть при использовании без синхронизации, кроме того, что мы потеряем контроль над значением переменной?
|
12.06.2012, 17:54 | #22 |
Старожил
Регистрация: 08.04.2012
Сообщений: 3,229
|
Ну, собственно, ничего ХУЖЕ, чем потеря контроля за содержимым ячейки памяти не произойдет: монитор не сгорит, и физически диск не посыпется. Максимум - зависание с потерей данных и необходимостью переустановки ОС.
|
13.06.2012, 01:16 | #23 |
Пользователь
Регистрация: 10.06.2012
Сообщений: 44
|
Ого.
Спасибо!! |
13.06.2012, 01:52 | #24 |
Пользователь
Регистрация: 10.06.2012
Сообщений: 44
|
А вот с закрытием процесса или потока:
Зачем нужна CloseHandle, если и TerminateProcess останавливает процесс? Я читала о том, что и TermainateProcess, и CloseHandle уменьшают счетчик числа пользователей объекта ядра на 1, и там же, в примерах: сначала вызывают TerminateProcess, а потом CloseHandle - выходит, что процесс закрываем один, а счетчик числа пользователей объекта ядра уменьшится на 2. В общем путаница вышла. |
13.06.2012, 02:42 | #25 |
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
некоторая информация о процессе остается в памяти, пока не закрыт последний хендл на этот процесс, т.к. его (хендл) можно использовать в GetExitCodeProcess() или в WaitForSingleObject(). как только все хендлы на процесс закрыты с помощью CloseHandle(), эта информация удаляется. так что одного TermainateProcess() не достаточно.
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
13.06.2012, 03:01 | #26 |
Пользователь
Регистрация: 10.06.2012
Сообщений: 44
|
Понятно.) Спасибо!
|
13.06.2012, 19:29 | #27 |
Пользователь
Регистрация: 10.06.2012
Сообщений: 44
|
Вот снова вопросик возник все на счет той же функции и потока.
Вот функция: Код:
При нажатии на кнопку я создаю поток, и эту функцию там задаю как входную потоковую,и вызываю эту же функцию для другого Edit в главном потоке. Код:
Сначала я подумала, что производный поток отправляет сообщения WM_PAINT в главный,который занят функцией, поэтому и не обрабатывает пока другие приходящие сообщения, но потом все функции(входную потоковую, и функцию высказывающуюся в главном потоке) определила для обычных статиков, а результат остался таким же: сначала идет перебор на одном статике, и только потом на втором. Последний раз редактировалось Лета; 13.06.2012 в 19:34. |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Класс запускает поток, который заполняет этот класс. Обмен класс <=> поток. | Человек_Борща | Общие вопросы Delphi | 8 | 27.02.2012 23:24 |
[Проблема] - Прервать закачку, закрыть поток(tthread) Функция(WinInet) | Человек_Борща | Работа с сетью в Delphi | 0 | 14.12.2010 20:21 |
Поток. Не получается создать поток. Выдает ошибки при запуске | bigory | Общие вопросы по Java, Java SE, Kotlin | 3 | 23.09.2010 00:40 |
поток | Артэс | Общие вопросы C/C++ | 3 | 09.12.2009 22:20 |
одна функция потока, а другая функция - член класса запускающего этот поток | Дмитрий_Ч | Общие вопросы C/C++ | 2 | 27.09.2007 08:50 |