Модераторы: korob2001, ginnie

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как убить соданный threads? 
V
    Опции темы
wolter
Дата 20.2.2008, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



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

#!/usr/bin/perl


use Win32::GUI;
use threads;


my $main = Win32::GUI::Window->new(
    -name    => "Main",
    -left    => 100,
    -top     => 100,
    -width   => 400,
    -height  => 380,
  );

my $msg_con = $main->AddTextfield(
    -name   => "Textfield3",
    -multiline  => 1,
    -left   => 3,
    -top    => 15,
    -width  => 385,
    -height => 185,
    -readonly => 1,
    -wantreturn => 1,
    -vscroll => 1,
);

$main->AddButton(
    -name   => "send_kart",
    -text   => "создаем поток",
    -left   => 35,
    -top    => 267,
);



$msg_con->LimitText(-1);

$main->Show();
Win32::GUI::Dialog();


sub the {
$msg_con->Append("Делаем поток\r\n");

}

sub send_kart_Click {
$thread  = threads->create(\&the);

}


sub Main_Terminate {
        $main->Disable();
        $main->Hide();
        return -1;
}




Это сообщение отредактировал(а) wolter - 20.2.2008, 17:31
PM MAIL   Вверх
wolter
Дата 21.2.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Вот тебе и форум программистов, ни одного ответа за 3 дня.....
PM MAIL   Вверх
nitr
Дата 22.2.2008, 02:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 2543
Регистрация: 10.2.2006
Где: Россия :)

Репутация: 37
Всего: 84





--------------------
PM   Вверх
wolter
Дата 22.2.2008, 09:33 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



nitr, И это все на что хватило вашего опыта программиста ?
Читая правила и советы чужого форума я врядле узнаю как мне добиться эффекта, чтобы по окончании потока, поток вычищал себя из памяти!
PM MAIL   Вверх
shamber
Дата 22.2.2008, 12:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



wolter, Вы утомительны со своими наездами. 
Но Вы еще и спасибо говорить забываете...

PM MAIL Jabber   Вверх
wolter
Дата 22.2.2008, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



shamber, Вас не кто не застовляет их читать  smile

Добавлено через 47 секунд
Вообщем тему можно закрывать, ответитьна мой вопрос "как очистить память после потока" не кто не смог...
PM MAIL   Вверх
shamber
Дата 22.2.2008, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1422
Регистрация: 5.9.2006
Где: Россия

Репутация: 17
Всего: 18



Ну так и закройте.... Вы же ее создали.

З.Ы. платочек подарить?
PM MAIL Jabber   Вверх
wolter
Дата 22.2.2008, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



shamber, Если Вы такой умник, ришение данной проблемы подарите 
PM MAIL   Вверх
PanamOS
Дата 22.2.2008, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.1.2008

Репутация: нет
Всего: нет



Цитата(wolter @  22.2.2008,  09:33 Найти цитируемый пост)
Читая правила и советы чужого форума я врядле узнаю как мне добиться эффекта, чтобы по окончании потока, поток вычищал себя из памяти! 

Это не правила чужого форума, это правила того, как надо спрашивать людей на форумах. Вы почитайте, поймете почему Вам никто не отвечает и не "дарит" ответ Вашей проблемы на текущий момент. После прочтения попробуйте задать вопрос по другому например.
Так же хочу отметить что сам вопрос Вы задали только в 3 посте, до этого вопрос нигде не звучал и было "не ясно" что Вам надо, удалять поток и чистить память или к примеру помочь найти другое решение задачи, чтобы программа не потеряла при этом функционал. ИМХО Ваша проблема в том, что Вы не хотите учиться, а хотите, чтобы Вам дали готовое решение Вашей текущей проблемы и Вы смогли продолжить дальше клепать то, что Вы сейчас клепаете.

А по поводу опыта nitr думаю сомневаться не стоит, Вы не его заказчик и не платите ему. Форумы это не то место, гду будут решать именно Ваши проблемы, тут никто лично Вам ничем не обязан(исключения:форумы поддержки продуктов для клиентов). Все это тоже замечательно и подробно изложено по ссылке выше.

Это сообщение отредактировал(а) PanamOS - 25.2.2008, 00:36
PM MAIL   Вверх
wolter
Дата 22.2.2008, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



PanamOS, Вопрос КОРЕКТНО был задал названии темы "Как убить соданный threads? ", далее в теме обьеснялось зачем мне это надо,  по поводу того что комуто он был не понять, так тут уж простите, те кто не поняли могли просто переспросить, поверте мне я над этим вопрос кабаючь уже более 9 дней и если я тут начну сейчас перечеслять какие мотоды я перепробовал, то Вы все просто устаните читать, я не хочу чтобы мн едали готовое ришение, мне надо просто показать пример как мне к нему прийти, на мой взгляд форумы созданы для того чтобы люди черпали из них информацию, причем информацию конкретно по теме форума и поста. Когда я вижу когда люди задают вопрос я не отвечаю им в стиле иди читай правила или найчись конкретно задавать вопросы, я стараюсь вникнуть в проблемму человека, к сожилению наверно я такой один или со мной одним что то не так. Данный вопрос для меня остаеться открытым уже очень довно, но из всех методов я не нашел ни одного верного.
PM MAIL   Вверх
ginnie
Дата 22.2.2008, 19:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Комодератор
Сообщений: 1287
Регистрация: 6.1.2008
Где: Москва

Репутация: 38
Всего: 49



wolter, проблему создал автор комментария

Цитата

Вот тебе и форум программистов, ни одного ответа за 3 дня.....


Так что все замечания относятся не к Вам (автору основного вопроса), а к нему (автору вышеуказанного комментария).


--------------------
Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг)
PM MAIL Skype Jabber   Вверх
PanamOS
Дата 22.2.2008, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.1.2008

Репутация: нет
Всего: нет



Цитата(wolter @  22.2.2008,  18:47 Найти цитируемый пост)
чтобы люди черпали из них информацию

Информация не появляется просто так, ею делятся другие люди.
Цитата(wolter @  22.2.2008,  18:47 Найти цитируемый пост)
я тут начну сейчас перечеслять какие мотоды я перепробовал, то Вы все просто устаните читать

Иногда проще прочитать 1 раз за х-ххх минут, чем тратить время, на проработку методов, которые возможно Вы уже попробовали.
Цитата(wolter @  22.2.2008,  18:47 Найти цитируемый пост)
я не хочу чтобы мн едали готовое ришение, мне надо просто показать пример как мне к нему прийт

Во многих случаях пример является готовым решением.
Я сделал вывод про готовое решение, на основании других тем, где не смотря на подсказанное направление Вы продолжали постить что-то типа  smile  и лишь когда все начинали игнорировать, лезли в документацию и все становилось прозрачно и понятно. Возможно я и не прав.
Цитата(wolter @  22.2.2008,  18:47 Найти цитируемый пост)
Данный вопрос для меня остаеться открытым уже очень довно, но из всех методов я не нашел ни одного верного. 

Все про тот же линк, возможно Вы просто выбрали неверное направление решения своей проблемы, возможно еще на уровне проектировки Вашего приложения. Может быть задачу будет удобнее решить кардинально другим путем, вот про это и шла речь, что вопрос про Вашу текущую проблему в данный момент, а не про решение чего-то в целом.


Цитата(nitr @  22.2.2008,  02:50 Найти цитируемый пост)
http://www.citforum.ru/howto/smart-questions-ru.shtml


PM MAIL   Вверх
wolter
Дата 22.2.2008, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



PanamOS, Если Вы внимательно посмотрите мои предедущие посты, увидите, что сама проблемма и ее ришение возникли именно по причине того, что вориантов и небыло ни каких как пример:
как сделать программу с ИНТЕРФЕЙСОМ, чтобы при выполнение какого либо саба, сам интерфейс не зависал, до до завиршение этого самого саба!?
ответ: только через поток (интерфейс остаеться работать, без подвисов, а в потоке выпалняеться нужный саб, выдавая только нужные нам данные)

Речь не инед о какомто конкретном примере, тут проблемма во всей архетектуре программы, я думаю если любой кто читайл данный топ возмет выше указанный код, и его запустить сам по себе зайдет в тупик, Вы хотябы для самих себя найдите ришение и только потом говорите что я изначально что то сделал не так. По поводу перл доков, информации о том как вычистить память после фрока в них точно нету, фокусы типо "undef $thread;" тут тоже мало чем помогут, есть еще вот такая статья тут , но описанный там метод, я так понял приемлел только для *nix систем потому как на 
Код

use threads ('yield',
'stack_size' => 64*4096,
'exit' => 'threads_only',
'stringify');

ActiveState ActivePerl 5.8 выдает 
Код

threads version 262144 required--this is only version 1.00 at C:/Perl/lib/Exporter/Heavy.pm line 121.

Я думаю конкретно мой вопрос интиресен многим, потому как рищение данной проблеммы как котовой либо нет либо найти ее просто не реально
PM MAIL   Вверх
PanamOS
Дата 23.2.2008, 04:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 29.1.2008

Репутация: нет
Всего: нет



wolter
Код

This is perl, v5.8.8 built for MSWin32-x86-multi-thread

ошибок не выдает, но не в этом суть.
Если Вы еще раз внимательно перечитаете мануал, на который Вы дали ссылку, то поймете, что Вам нужно сделать.

Это сообщение отредактировал(а) PanamOS - 23.2.2008, 15:32
PM MAIL   Вверх
wolter
Дата 24.2.2008, 15:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 129
Регистрация: 28.1.2008

Репутация: нет
Всего: нет



Что то я нефига не могу понять КАК ТРЕЙД ПОСЛЕ ЗАВИРШЕНИЯ ВЫГРУЗИТЬ ИЗ ОПИРАТИВНОЙ ПАМЯТИ системы.....
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0936 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.