Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Threads, reading from array... 
:(
    Опции темы
Nodir
Дата 26.5.2006, 16:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 9.5.2006
Где: Bukhara --> T ashkent --> Seoul

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



Здраствуйте, надо решит такую задачу. Есть массив int[10] первый поток 

должен заполнить до определенного индекса, потом должен сообщить 

второму потоку о чтение, потом второй поток должен читать до 

определенного индекса, ... и так до конца массива. Ещё надо их join() 

делать. Попробовал так, чтота не получается. I need for help...
Код

public class ThreadWithArray {
    
    public static void main(String[] args) {
     ThreadDemoArray writer = new ThreadDemoArray("Writer ");
     ThreadDemoArray reader = new ThreadDemoArray("Reader ");
     writer.putD();
     reader.getD();
     try{
         writer.th.join();
         reader.th.join();
     } catch (InterruptedException ie) {
         System.out.println("Hey, InterruptedException");
     }
    }
}
class ThreadDemoArray implements Runnable {
    Thread th;
    String name;
    int arrInt[] = new int[20];
    ThreadDemoArray(String name){
        this.name = name;
        th = new Thread(this, name);
        th.start();
    }
    public void run(){
        System.out.println("simple thread "+name+" started..." );
    }
    public void putD(){        
        try{
            for (int i=0; i<20; i++){
                System.out.println(name+"  "+i);
                arrInt[i] = i;
                if (i%5==5) wait();
                //Thread.sleep(100);
            }
        } catch (InterruptedException ie){
            System.out.println("Hey, InterruptedException");
        }
        System.out.println(name+" finished...");
    }
    public void getD(){
        //try{
            for (int i=0; i<20; i++){
                System.out.println(name+"  "+i);                
                if (i%5==4){} //notify();
                //Thread.sleep(100);
            }
        /*} catch (InterruptedException ie){
            System.out.println("Hey, InterruptedException");
        }*/
        System.out.println(name+" finished...");
    }    
} 
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




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


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

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