-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
96 lines (71 loc) · 2.62 KB
/
Solution.java
File metadata and controls
96 lines (71 loc) · 2.62 KB
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//If I hadn't done among them the works which no one else did, they wouldn't have had sin. But now have they seen and also hated both me and my Father. (John 15:24)
package com.javarush.task.task16.task1609;
/*
Справедливость
*/
public class Solution {
public static void main(String[] args) throws InterruptedException {
Mouse alpha = new Mouse("#1");
//alpha.join();
Mouse mouse1 = new Mouse("#2");
Mouse mouse2 = new Mouse("#3");
}
private static void eating() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}
}
public static class Mouse extends Thread {
public Mouse(String name) {
super(name);
start();
}
public void run() {
System.out.println(getName() + " starts eating");
eating();
System.out.println(getName() + " finished eating");
}
}
}
/*
Справедливость
1. Разберись, что делает программа.
2. Нужно сделать так, чтобы все мыши ели одновременно.
3. Подумай, какой метод позволяет альфа-самцу мыши есть первым, и почему остальные мыши ждут.
4. Удали вызов этого метода.
Требования:
1. Вывод программы должен показывать, что сначала все мыши начали есть, а потом все закончили.
2. Метод join не должен вызываться у объектов типа Mouse.
3. Программа должна создавать 3 объекта типа Mouse.
4. Методы, которые отвечают за вывод в консоль, не изменять.
package com.javarush.task.task16.task1609;
*
Справедливость
*
public class Solution {
public static void main(String[] args) throws InterruptedException {
Mouse alpha = new Mouse("#1");
alpha.join();
Mouse mouse1 = new Mouse("#2");
Mouse mouse2 = new Mouse("#3");
}
private static void eating() {
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
}
}
public static class Mouse extends Thread {
public Mouse(String name) {
super(name);
start();
}
public void run() {
System.out.println(getName() + " starts eating");
eating();
System.out.println(getName() + " finished eating");
}
}
}
*/