Problem with Synchronized block
Hi,
For me synchronized key word is not working (?) :-(
Here is the example :
I have three classes
package sample.test;
public class TestThreadMain {
public static void main(String[] args) {
Thread t1 = new ThreadOne();
Thread t3 = new ThreadOne();
t1.start();
t3.start();
}
}
public class TestThread {
int k = 0;
public synchronized void method1(){
System.out.println("Entered into method1 >>>>>>>>>");
for (int i=0; i<1000; i++){
for (int j=0; j<100000; j++){
k = j * 12345;
}
System.out.println("method1 i value is "+i);
}
}
}
package sample.test;
public class ThreadOne extends Thread {
TestThread t1 = new TestThread();
public void run() {
t1.method1();
}
}
If I run "TestThreadMain" class output is
Entered into method1 >>>>>>>>>
method1 i value is 0
method1 i value is 1
method1 i value is 2
method1 i value is 3
method1 i value is 4
method1 i value is 5
method1 i value is 6
method1 i value is 7
method1 i value is 8
method1 i value is 9
method1 i value is 10
method1 i value is 11
method1 i value is 12
method1 i value is 13
method1 i value is 14
method1 i value is 15
method1 i value is 16
method1 i value is 17
method1 i value is 18
method1 i value is 19
method1 i value is 20
method1 i value is 21
method1 i value is 22
method1 i value is 23
method1 i value is 24
method1 i value is 25
method1 i value is 26
method1 i value is 27
method1 i value is 28
method1 i value is 29
method1 i value is 30
method1 i value is 31
method1 i value is 32
method1 i value is 33
method1 i value is 34
method1 i value is 35
method1 i value is 36
method1 i value is 37
method1 i value is 38
method1 i value is 39
method1 i value is 40
method1 i value is 41
method1 i value is 42
method1 i value is 43
method1 i value is 44
method1 i value is 45
method1 i value is 46
method1 i value is 47
method1 i value is 48
method1 i value is 49
method1 i value is 50
method1 i value is 51
method1 i value is 52
method1 i value is 53
method1 i value is 54
method1 i value is 55
method1 i value is 56
method1 i value is 57
method1 i value is 58
method1 i value is 59
method1 i value is 60
method1 i value is 61
method1 i value is 62
method1 i value is 63
method1 i value is 64
method1 i value is 65
method1 i value is 66
method1 i value is 67
method1 i value is 68
method1 i value is 69
method1 i value is 70
method1 i value is 71
method1 i value is 72
method1 i value is 73
method1 i value is 74
method1 i value is 75
method1 i value is 76
method1 i value is 77
method1 i value is 78
method1 i value is 79
method1 i value is 80
method1 i value is 81
method1 i value is 82
method1 i value is 83
method1 i value is 84
method1 i value is 85
method1 i value is 86
method1 i value is 87
method1 i value is 88
method1 i value is 89
method1 i value is 90
method1 i value is 91
method1 i value is 92
method1 i value is 93
method1 i value is 94
method1 i value is 95
method1 i value is 96
method1 i value is 97
method1 i value is 98
method1 i value is 99
method1 i value is 100
method1 i value is 101
method1 i value is 102
method1 i value is 103
method1 i value is 104
method1 i value is 105
method1 i value is 106
method1 i value is 107
method1 i value is 108
method1 i value is 109
method1 i value is 110
method1 i value is 111
method1 i value is 112
method1 i value is 113
method1 i value is 114
method1 i value is 115
method1 i value is 116
method1 i value is 117
method1 i value is 118
method1 i value is 119
method1 i value is 120
method1 i value is 121
method1 i value is 122
method1 i value is 123
method1 i value is 124
method1 i value is 125
method1 i value is 126
method1 i value is 127
method1 i value is 128
method1 i value is 129
method1 i value is 130
method1 i value is 131
method1 i value is 132
method1 i value is 133
method1 i value is 134
method1 i value is 135
method1 i value is 136
method1 i value is 137
method1 i value is 138
method1 i value is 139
method1 i value is 140
method1 i value is 141
method1 i value is 142
method1 i value is 143
method1 i value is 144
method1 i value is 145
method1 i value is 146
method1 i value is 147
method1 i value is 148
method1 i value is 149
method1 i value is 150
method1 i value is 151
method1 i value is 152
method1 i value is 153
method1 i value is 154
method1 i value is 155
method1 i value is 156
method1 i value is 157
method1 i value is 158
method1 i value is 159
method1 i value is 160
method1 i value is 161
method1 i value is 162
method1 i value is 163
method1 i value is 164
method1 i value is 165
method1 i value is 166
method1 i value is 167
method1 i value is 168
method1 i value is 169
method1 i value is 170
method1 i value is 171
method1 i value is 172
method1 i value is 173
method1 i value is 174
method1 i value is 175
method1 i value is 176
method1 i value is 177
method1 i value is 178
method1 i value is 179
method1 i value is 180
method1 i value is 181
method1 i value is 182
method1 i value is 183
method1 i value is 184
method1 i value is 185
method1 i value is 186
method1 i value is 187
method1 i value is 188
method1 i value is 189
method1 i value is 190
method1 i value is 191
method1 i value is 192
method1 i value is 193
method1 i value is 194
method1 i value is 195
method1 i value is 196
method1 i value is 197
method1 i value is 198
method1 i value is 199
method1 i value is 200
method1 i value is 201
method1 i value is 202
Entered into method1 >>>>>>>>>
method1 i value is 0
method1 i value is 1
method1 i value is 2
method1 i value is 3
method1 i value is 4
method1 i value is 5
method1 i value is 6
method1 i value is 7
method1 i value is 8
method1 i value is 9
method1 i value is 10
method1 i value is 11
method1 i value is 12
method1 i value is 13
method1 i value is 14
method1 i value is 15
method1 i value is 16
method1 i value is 17
method1 i value is 18
method1 i value is 19
method1 i value is 20
method1 i value is 21
method1 i value is 22
method1 i value is 23
method1 i value is 24
method1 i value is 25
method1 i value is 26
method1 i value is 27
method1 i value is 28
method1 i value is 29
method1 i value is 30
method1 i value is 31
method1 i value is 32 .....
My question is as i delcared the method " method1()" as synchronized, after completion of printing the first 1000 only second thread has to enter in to this method.
Am I wrong any where ?
Thanks,
Sudhakar

