-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathSolution.java
More file actions
128 lines (95 loc) · 3.28 KB
/
Solution.java
File metadata and controls
128 lines (95 loc) · 3.28 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
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
//And this is life eternal, that they might know thee the only true God, and Jesus Christ, whom thou hast sent. (John 17:3)
package com.javarush.task.task17.task1716;
/*
Синхронизированные методы
*/
public class Solution {
private double param = Math.random();
private StringBuilder sb = new StringBuilder();
private void method0() {
Double d = method3();
}
protected void method1(String param1) {
Solution solution = new Solution();
solution.method0();
}
public void method2(int param1) {
param1++;
}
synchronized double method3() {
double random = Math.random();
param += 40.7;
return random + param;
}
private synchronized void method4() {
sb.append(1).append(1).append(1).append(1);
}
protected void method5(String param2) {
new StringBuffer().append(param2).append(param2).append(param2);
}
public synchronized String method6(int param2) {
System.out.println("Thinking....");
method7(5e-2);
sb = new StringBuilder("Got it!.");
return sb.toString();
}
String method7(double param2) {
return "" + param2;
}
public static void main(String[] args) {
}
}
/*
Синхронизированные методы
Установить модификатор synchronized только тем методам, которым необходимо.
Объект класса Solution будет использоваться нитями.
Требования:
1. В method0, если необходимо, используй synchronized.
2. В method1, если необходимо, используй synchronized.
3. В method2, если необходимо, используй synchronized.
4. В method3, если необходимо, используй synchronized.
5. В method4, если необходимо, используй synchronized.
6. В method5, если необходимо, используй synchronized.
7. В method6, если необходимо, используй synchronized.
8. В method7, если необходимо, используй synchronized.
package com.javarush.task.task17.task1716;
*
Синхронизированные методы
*
public class Solution {
private double param = Math.random();
private StringBuilder sb = new StringBuilder();
private void method0() {
Double d = method3();
}
protected void method1(String param1) {
Solution solution = new Solution();
solution.method0();
}
public void method2(int param1) {
param1++;
}
double method3() {
double random = Math.random();
param += 40.7;
return random + param;
}
private void method4() {
sb.append(1).append(1).append(1).append(1);
}
protected void method5(String param2) {
new StringBuffer().append(param2).append(param2).append(param2);
}
public String method6(int param2) {
System.out.println("Thinking....");
method7(5e-2);
sb = new StringBuilder("Got it!.");
return sb.toString();
}
String method7(double param2) {
return "" + param2;
}
public static void main(String[] args) {
}
}
*/