package Thread;
import java.util.Date;
public class ThreadDemo3 {
public static void main(String[] args) {
Thread thread1 = new MyThread3(" T1");
Thread thread2 = new MyThread3("T2");
thread1.setPriority(Thread.NORM_PRIORITY + 3);
thread2.setPriority(Thread.NORM_PRIORITY - 3);
thread1.start();
thread2.start();
}
}
class MyThread3 extends Thread {
MyThread3(String name) {
super(name);
}
@Override
public void run() {
for (int i = 0; i < 100; i++) {
System.out.println(getName() + i);
}
}
}
结果如下:
T10
T20
T11
T21
T12
T22
T13
T23
T14
T24
T15
T25
T16
T26
T17
T27
T18
T28
T19
T29
T110
T210
T111
T112
T113
T211
T114
T212
T115
T213
T116
T214
T117
T215
T118
T216
T119
T217
T120
T218
T121
T219
T122
T220
T123
T221
T124
T222
T125
T223
T126
T224
T127
T225
T128
T226
T129
T227
T130
T228
T131
T229
T132
T230
T133
T231
T134
T135
T136
T137
T232
T138
T233
T139
T234
T140
T235
T141
T236
T142
T237
T143
T238
T144
T145
T239
T146
T240
T147
T241
T148
T242
T149
T243
T150
T244
T151
T245
T152
T246
T153
T247
T154
T248
T155
T249
T156
T250
T157
T251
T158
T252
T159
T253
T160
T254
T161
T255
T162
T256
T257
T258
T163
T164
T165
T166
T167
T168
T169
T170
T171
T172
T173
T174
T259
T175
T260
T176
T261
T177
T262
T178
T263
T179
T264
T180
T265
T181
T266
T182
T267
T183
T268
T184
T269
T185
T270
T186
T187
T188
T189
T190
T191
T192
T193
T194
T195
T196
T197
T198
T199
T271
T272
T273
T274
T275
T276
T277
T278
T279
T280
T281
T282
T283
T284
T285
T286
T287
T288
T289
T290
T291
T292
T293
T294
T295
T296
T297
T298
T299
该程序主要是通过将两个线程设置为不同的优先级,从而分配给它们不同的执行时间(优先级高的程序分配更多的执行时间,反之亦然)。结果中可以看出线程T1要更加优先地执行。