Виды программирования, программирование, языки программирования, книги программирование На сайте представлена информация про программирование в Интернете и работу  

iterator, который возвращает элемент несколько раз
TCP\IP в J2ME, Полноценно ли?
zip + mail, Нуно отсолать зазипованный файл
Трудно ли изменить некоторые элементы UI?
получить значение
jDialog, Вызов
Даже незнаю как сформировать вопрос..., создание объектов в цикле
Кто знает как писать на jav'e для, сотовых телефонов
Java vs HOOK
Копирование файла, Из одной папки в другую
Порядок вычисления логического выражения
Как Компилировать
трабл setVisible...
как объяснить такое поведение?, отсутствует реакция...
Не рисуется пустая таблица
JBuilder X, New version
JDBC, Про JDBCи JAVA
Вызов неизвестных методов (eval)
Можно ли писать на J++ DCOM-объекты?
преобразование DOM XML с помошью XSLT
Разложение простого текста в массив байт, нет описания
classpath-ы для JSP
из .class сдеать .java
перебор массива
Можно ли в Jar запихнуть классы JApplet?
Ща буду кого нить бить!, if (int==int) problem or "сам дурак"
вакансия, требуется опытный програмист на JAVA
J2EE
Как рисовать на рабочий стол с помощью java
где расположить объект jPanel?
LDAP, обращение к LDAP из JAVA
Forte for Java CE, Вопрос по использованию
массив в массиве... трабл...
Как Вы относитесь к курящим девушкам?
Java2, @@???
Applet и HTTP/Socks-прокси.
метод "getBlob", пакет java.sql
как убрать кнопки из заголовка окна в диалоге?, SWING
Как?
AXIS
Исходники, Исходники JVM
Использование чужих EJB
Как создать экзешник?
Как Вы относитесь к курящим девушкам?
Прежде чем задать вопрос, прочтите это!
Прежде чем задать вопрос, прочтите это!
Документация и книги по Java, Давайте соберём ссылки
совместимость WebServices на Java и С#
ПОМОИТЕ ПЛИЗ ! Почему не работает ?, Есть апплет (см) Что с ним не так ?
ANT, Проблемы с Ant
загрузка DLL из HTML через JAVA апплет, нужна консультация
Web Deployment Descriptor
Как работать с растровым изображением?
Начинаю изучать Java, Какие проги нужны...
Кто знаком с mycgiserver.com, где там индексная страница?
Java Media Framework (JMF), расскажите, как им пользоваться...
Документация и книги по Java, Давайте соберём ссылки
Запуск и останов потока..., Немогу остановить.
Какая разница?, дескриптор vs. хендл
создать jar...
Вопрос об исключениях, порядок выполнения
Передача параметров функцию, вместо параметра null
Юниксовые сигналы в Яве
работа с images
Проблемы с кодировкой...
Копирование файлов
Нужны гениальные программисты Java :)
Прямоугольная область из Java формы, Надо сохранить в jpg то, что рисую
Разве нет совместимости?.., jdk1.2.2 & jdk 1.4.1...
Апплет русский не понимает

Платные хостинги     Раскрутка сайта     Книги по программированию


Запуск и останов потока..., Немогу остановить.

Только здесь 1000 посетителей на Ваш сайт всего за 3 у.е.!

- Может для кого и смешная ситцация, но я немогу остановить запущенный поток...вот реализация.основной код:Код public void createAllObjects (){  // создаем все необходимые объекты  // создаем новый поток  t = new TcpThread(this);  ...}highlightSyntax('javaE0ZTMx','java');код потока.Код import java.io.*;import java.net.*;public class TcpThread implements Runnable {    /** Creates a new instance of TcpThread */    public TcpThread (pbxMain m) { this.mainObj=m;    }        public void  newThread(){ try{     t=new TcpThread (mainObj); } catch(Exception e){     System.out.println(e.getMessage ()); } tred=new Thread (t, "новый поток"); tred.start (); System.out.println ("выполнен последний оператор метода main()");    }         public void stopThread(){     try {  Thread.currentThread ().interrupt ();     }catch (Exception e){  System.out.println(e.getMessage ());     } }    public void run () { System.out.println ("выполняется поток " + Thread.currentThread ().toString ()); boolean i=true; int len=-1; String buf=""; while(i){     /*     len=mainObj.conn.ReadTpkt ();     if ( len > 0 ){  buf=mainObj.conn.ReadMsg (len);     }     else if ( len < 0){       }      */     try {  tred.sleep(5000);     }     catch (Exception e){     }     System.out.println("-------------------------"); }    }    public pbxMain mainObj;    public TcpThread t;    public Thread tred;}highlightSyntax('javaOTgxNWE','java');и попытка останова потока из основного кода.Код public void removeAllObjects (){  // удаляем объекты    // удаляем поток  this.t.stopThread ();  ...}highlightSyntax('javaZjA2ZWM3','java');После этого поток продолжает работу как ни в чем не бывало...даже ексепшн не помогает ничего эдакого отловить...

- Метод stop() является Depricated, то-есть его использование устарело и может быть не реализованно в следующих версиях Java. Возможно в твоей версии в этом методе просто заглушка, которая ничего не делает.Посмотри как можно корректно остановить поток здесь:The Life Cycle of a Thread

- Взгляни внимательно, я не использую метод stop. ДЛя этого у меня реализован метод stopThread, который в свою очередь вызывает Thread.currentThread ().interrupt ()Но за ссылку ОГРОМНЫЙ сенкс!

- Странна... Я что то из кода не могу понять - ты запускаешь 2-а одинаковых потока? Или как?

- нет... С чего ты взял?Из основного кода я создаю объект типа TcpThread t (это мой класс)потом при необходимости я вызываю у этого объекта метод t.newThread() в котором стартует новый поток.

- t=new TcpThread (mainObj); - два раза используется...Но это в общем то мелочи просто яб сделал чутка по другому Причина, почему тред не останавливается: метод интеррапт посылает InteruptedException.В общем посмотри тут: http://java.sun.com/j2se/1.3/docs/guide/mi...eprecation.htmlВ твоем случае помогут небольшие шаманские танцы . К примеру так: (сорри я чутка по другому написал - более красиво как мне кажется )В общем тред выглядит так:Код public class TestThread extends Thread{ private Object main; private boolean interrupted; public TestThread( Object main ) {  this.main = main;  interrupted = false; } public void interrupt() {  interrupted = true;  super.interrupt(); } public void run() {  System.out.println ("выполняется поток " + toString() );  boolean i = true;  while( i && !interrupted )  {   try   {    sleep(1000);   }   catch (Exception e){}   System.out.println( "******************" );  } }}highlightSyntax('javaTUxMWI','java');запуск и останов треда выглядит так:Код  TestThread thread = new TestThread( "some object" );  System.out.println("Start thread");  thread.start();  try  {   Thread.sleep( 10000 );  }  catch( Exception e ) {}  System.out.println("Stop thread");  thread.interrupt();        try  {   Thread.sleep( 10000 );  }  catch( Exception e ) {}highlightSyntax('javaNTM4MDU','java'); Это сообщение отредактировал DarkDS - 29.9.2003, 22:42

- В общем вот... Посмотри - что не понятно...

- Н-да. Покрасивше моего будет... Ошибку понял. принял к сведению... ПАСИБ!

Интернет казино     Онлайн игры     Увеличение члена     Купить DVD


Главная страница | программирование 1с предприятие | язык программирования pascal | виды программирования | программирование процессоров | язык программирования 1с | программирование assembler | методология программирования | прикладное программирование | программирование turbo pascal | парадигмы программирования | удаленная программирование | программирование управления | справочник программирования | задачи математическому программированию | методики программирования | программирование outlook | компьютерное программирование | программирование деревья | высокоуровневое программирование | программирование delphi скачать | программирование сигнализации | теория языков программирования | программирование микропроцессоров | обоснование языка программирования | программирование win32 | Ссылки

Все про программирование управления