информационная безопасность
без паники и всерьез
 подробно о проекте
За кого нас держат?Все любят медГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Модульный ботнет от русских хакеров 
 Торвальдс и вайбтестеры 
 Атака на GitHub 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
А я пробывал класс в потоке создавать 06.08.01 23:33  Число просмотров: 910
Автор: Паша Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я пробывал класс в потоке создавать и создавать отдельно от потока но ничего не получалось.
<programming>
[C++] Почему поток не завершает своё выполнение?? 05.08.01 15:31  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
есть обычный поток, созданный как HANDLE h = CreateThead
в конце потока есть return 0;
Сам поток совершает некоторые действия, я точно знаю что он доходит до return 0;
но потом происходит следующая вещь: ProcessViewer показывает во время выполнения потока что в программе 2-а потока, тот поток, доходит до return 0; но ProcessViewer всё равно показывает что у программы 2-а потока, причём прога как то подвисает и её нельзя убить ProcessViewer'ом!!
Что бы это могло быть???
[C++] Почему поток не завершает своё выполнение?? 05.08.01 15:35  
Автор: duh Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> есть обычный поток, созданный как HANDLE h = CreateThead
> в конце потока есть return 0;
> Сам поток совершает некоторые действия, я точно знаю что он
> доходит до return 0;
> но потом происходит следующая вещь: ProcessViewer
> показывает во время выполнения потока что в программе 2-а
> потока, тот поток, доходит до return 0; но ProcessViewer
> всё равно показывает что у программы 2-а потока, причём
> прога как то подвисает и её нельзя убить ProcessViewer'ом!!
> Что бы это могло быть???

а ты зделал CloseHandle?
[C++] Почему поток не завершает своё выполнение?? 05.08.01 17:27  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
мля, фишка в том, что я накада не вызываю CloseHandle, обычно без него всё работает!! да и у этого потока, если убрать внутренности, то всё нормально!!! а с внутренностями такая вот муйня!
типа наезд 06.08.01 01:28  
Автор: Qrot Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> мля, фишка в том, что я накада не вызываю CloseHandle,
слушай, мил человек, ты доки читать пробовал?
а то по твоим постингам складывается впечатление, что ты все познаешь на собственном анусе.
кстати, если при пустом потоке все пашет, то наверно ошибка где-нить в теле потока, нет?
типа наезд 06.08.01 02:09  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
вот я и говарю, что может быть такова в теле потока, что бы такая муйня происходила?
типа наезд 06.08.01 08:53  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
> вот я и говарю, что может быть такова в теле потока, что бы
> такая муйня происходила?

а кода много ? :)
а то может проще его здесь написать

а насчёт количества потоков - если у тебя дебажная версия собрана, то там может быть что угодно

если он доходит до return нормально а потом виснет, то можно предположить что ты где то в стек насрал :) (адрес возврата неправильный)
[C++] типа наезд 06.08.01 21:39  
Автор: myrmidon Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Да!
до return'а у меня стоит месагбох, и 100% ретурн возвращает 0, но.....
А как я мог настрать в стек?? чем??
[C++] типа наезд 07.08.01 13:34  
Автор: ggg <ggg> Статус: Elderman
<"чистая" ссылка>
ты говорил что с пустым потоком всё работает

попробуй по частям добавлять код
ну закоментарь всё остальное

когда наестся - значит нашёл то что нужно :)
Почему при работе с БД в потоке происходит RuntimeError 06.08.01 05:31  
Автор: Паша Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я пытаюсь в отдельном потоке произвести запись в бузе данных DAO, тоесть юзаю CDaoRecordset,CDaoDatabse и т.д. Но происходит какой-то error прямо в-фции поиска, и никаким исключением этот error не обрабатывается. Та-же операция вне потока проходит на ура. Вот такая шляпа, может кто уже такую видел?
что-то такое было... 06.08.01 15:43  
Автор: ukv Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Я пытаюсь в отдельном потоке произвести запись в бузе
> данных DAO, тоесть юзаю CDaoRecordset,CDaoDatabse и т.д. Но
> происходит какой-то error прямо в-фции поиска, и никаким
> исключением этот error не обрабатывается. Та-же операция
> вне потока проходит на ура. Вот такая шляпа, может кто уже
> такую видел?

Подобная вещь у меня была (только не с базами, а с производным классом
от CView). Никак не получалось пользоваться некоторыми методами этого класса не из того потока, в котором он был создан. Разбор показал, что это происходит из-за реализации класса, существенно использующей TLS (thread local storage).
Может, у такой реализации и есть свои преимущества - тут я не специалист. Если дело в этом, то пиши пропало. В моем случае требовалось всего лишь послать окну update, а это можно сделать и при помощи PostMessage.
А я пробывал класс в потоке создавать 06.08.01 23:33  
Автор: Паша Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Я пробывал класс в потоке создавать и создавать отдельно от потока но ничего не получалось.
1





Рейтинг@Mail.ru


  Copyright © 2001-2026 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach