-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathThreadsMain.java
More file actions
111 lines (82 loc) · 2.74 KB
/
ThreadsMain.java
File metadata and controls
111 lines (82 loc) · 2.74 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
package example.oo.main;
public class ThreadsMain {
public static class ThreadA extends Thread{
private byte parameterA;
private byte parameterB;
@Override
public void run(){
System.out.println("Running thread A (A - B): A="+ parameterA+" B=" +parameterB +" Result=" +(this.parameterA-this.parameterB ));
}
public byte getParameterA() {
return parameterA;
}
public void setParameterA(byte parameterA) {
this.parameterA = parameterA;
}
public byte getParameterB() {
return parameterB;
}
public void setParameterB(byte parameterB) {
this.parameterB = parameterB;
}
}
public static class ThreadB extends Thread{
private byte parameterA;
private byte parameterB;
@Override
public void run(){
System.out.println("Running thread B (A + B): A="+ parameterA+" B=" +parameterB +" Result=" +(this.parameterA+this.parameterB ));
}
public byte getParameterA() {
return parameterA;
}
public void setParameterA(byte parameterA) {
this.parameterA = parameterA;
}
public byte getParameterB() {
return parameterB;
}
public void setParameterB(byte parameterB) {
this.parameterB = parameterB;
}
}
public static class RunnableC implements Runnable{
private byte parameterA;
private byte parameterB;
@Override
public void run() {
System.out.println("Running thread C (A * B): A="+ parameterA+" B=" +parameterB +" Result=" +(this.parameterA*this.parameterB ));
}
public byte getParameterA() {
return parameterA;
}
public void setParameterA(byte parameterA) {
this.parameterA = parameterA;
}
public byte getParameterB() {
return parameterB;
}
public void setParameterB(byte parameterB) {
this.parameterB = parameterB;
}
}
public static void main(String[] args){
for(byte i=0;i<99;i++){
ThreadA a= new ThreadA();
byte pA=1;
a.setParameterA(i);
a.setParameterB(pA);
a.start();
ThreadB b= new ThreadB();
pA=2;
b.setParameterA(i);
b.setParameterB(pA);
b.start();
RunnableC c= new RunnableC();
pA=3;
c.setParameterA(i);
c.setParameterB(pA);
new Thread(c).start();
}
}
}