Форум программистов, компьютерный форум, киберфорум
Наши страницы
Java SE (J2SE)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
ValeriyM
0 / 0 / 0
Регистрация: 15.10.2012
Сообщений: 1
1

Как работает программа

18.10.2012, 23:46. Просмотров 1174. Ответов 2
Метки нет (Все метки)

Я знаю,что для Вас это несложно, объясните пожалуйста, у меня Java была 1,5 месяца учёбы из которых я месяц, т.е последнее время пролежал в больнице, я вообще не понимаю, а завтра нужно сдать их и объяснить, лабораторные одногрупник подогнал

1)

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class HelloRunnable implements Runnable {
 
public void run() {
while(true){
System.out.println("Hello from a thread!");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
 
public static void main(String args[]) {
(new Thread(new HelloRunnable())).start();
while (true){
System.out.println("Hello from main!");
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
Вторая во вложении, главное объяснить как работает, вопрос моего дальнейшего обучения(
Буду благодарен за любые подсказки и объяснения
Sinkhronizatsia_pered.docx
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
18.10.2012, 23:46
Ответы с готовыми решениями:

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

Подскажите как работает программа
Есть следующая задача: synchronized существенно замедляет программу, поэтому...

Не понимаю как работает программа
Только изучаю программирование. В общем, try/catch, судя по всему, прога просто...

Объясните построчно, как работает программа...
package test.third; /* * Программа, в которой все переданные во...

помогите разобраться как работает программа, пожалуйста
/* * To change this template, choose Tools | Templates * and open the...

2
kalaider
0 / 0 / 1
Регистрация: 24.10.2012
Сообщений: 31
24.10.2012, 23:01 2
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class HelloRunnable implements Runnable{
 
     public void run() { //Метод интерфейса Runnable
          while(true){ //Бесконечный цикл
               System.out.println("Hello from a thread!"); //Вывод на консль
               try { //Перехват ошибки
                    Thread.sleep(2000); //Усыпление потока на 2с
               } catch (InterruptedException e) { //Продолжение перехвата и обработка ошибки
                   e.printStackTrace();//Печать ошибки
               }
          }
     }
 
     public static void main(String args[]) {
          (new Thread(new HelloRunnable())).start(); //Создание потока с использованием Runnable
          while (true){
               System.out.println("Hello from main!");
               try {
                    Thread.sleep(2000);
               } catch (InterruptedException e) {
                    e.printStackTrace();
               }
           }
     }
}
Программа работает просто.
1) Создаётся поток, выводящий на экран сообщение Hello from a thread! каждые 2 с. Главный поток выводит сообщение Hello from main! с тем же интервалом. Программа - демонстрация потоков (поток служит для папаллельной работы частей программы).
0
lemegeton
2935 / 1364 / 467
Регистрация: 29.11.2010
Сообщений: 2,725
26.10.2012, 13:52 3
Добавлю, что программа демонстрирует три главные идеи в потоках.

Первая, что порядок выполнения потоков не гарантирован.
В выводе порядок сообщений не всегда одинаков и может меняться в зависимости от большого количества факторов.

Вторая, что время, в течение которого поток спит в методе Thread.sleep() гарантировано только снизу.
Гарантируется, что поток будет спать как минимум X миллисекунд, но не гарантируется что поток начнет выполняться сразу после того, как это время закончится.

Третья, что метод start() запускает новый поток, а метод run() выполняется в текущем потоке.

Код можно записать короче:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class HelloRunnable implements Runnable {
 
    public void run() {
        while (true) {
            System.out.println("Hello from " + Thread.currentThread().getName() + "!");
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }
 
    public static void main(String[] args) throws InterruptedException {
        (new Thread(new HelloRunnable(), "a thread")).start();
        new HelloRunnable().run();
    }
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.10.2012, 13:52

Программа работает не совсем так, как нужно
import java.io.*; public class Pr2{ public static void main(String args)...

Как работает программа определения простоты числа?
В учебнике Шилдта встретил программу, пишет простое число или нет, но не могу...

Неверно работает программа
Всем привет. Разбирал следующий пример: class Stack{ int stck = new...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru