Java线程池需要我们不竭的进修,其实我们在使用的时辰仍是有不少问题需要我们解决。我们实现了一个简单的Java线程池。此刻我们就可以使用它了,下面的代码做了一个简单的示例:
# k+ n5 e3 l$ R2 E( y$ B2 {% D Java代码" k5 `) w" z5 N$ E5 q( k
1.public class SimpleTaskTest extends Task {
# p" M6 G* _7 b 2.@Override
4 a! L9 G+ }% O: s" S$ M0 o/ ?, c 3.public void deal() {
! L: G, H/ ^( c+ C/ Q8 r/ q 4.// do something1 ^; d( A( k, e5 B9 W/ a
5.}; q! X' o0 p9 _0 A) D
6.public static void main(String[] args) throws InterruptedException {5 F$ Y! ?4 c7 z+ x( |
7.ThreadPoolService service = new ThreadPoolService();
/ d' ~* Q' o. q7 `3 S 8.service.start();* D5 j' D' K; l/ }) C4 M! g) c$ f
9.// 执行十次使命
" K1 H' {4 x9 q* Y: {: ~* F5 G- n/ M 10.for (int i = 0; i < 10; i++) {
0 T1 e5 x) J+ ?6 o8 d2 B* ~) F( c 11.service.runTask(new SimpleTaskTest());0 z2 l% P% o P% b
12.}
1 i) ?! X; o) K$ C 13.// 睡眠1秒钟,期待所有使命执行完毕
" m0 g1 }# A$ y- H9 V 14.Thread.sleep(1000);
. _9 W3 }7 u- e* P" L# ~ 15.service.stop();
; C2 c5 T6 t7 P- C' V 16.} I* D: z) ?1 X+ l5 }" f" z/ c3 S
17.}
` S6 o9 ]' G1 {8 U. y 18.public class SimpleTaskTest extends Task {
" M% b F! a( { Z3 o4 T3 z 19.@Override
& y0 T* d3 X, u4 i- {" d- G 20.public void deal() {
! G6 c( B% E2 w% [7 c2 { R 21.// do something
8 w- w( \7 @) o! t# }1 z9 { 22.}
( [2 T# S! W7 W 23.public static void main(String[] args) throws InterruptedException {. x9 v/ S( a$ ]) |
24.ThreadPoolService service = new ThreadPoolService();( x, r C" e$ ?, `7 @
25.service.start();" `9 V4 E8 [+ u8 Y* H
26.// 执行十次使命
+ ~/ w5 _; H6 |$ }: A$ D3 X 27.for (int i = 0; i < 10; i++) {8 m& F1 }4 o% A# o$ G4 y' u
28.service.runTask(new SimpleTaskTest());0 W# p% R: \" Q
29.}* d( N+ X: h. `: d4 s1 b7 u
6 ~& c: U( b v& T7 e3 ]
30.// 睡眠1秒钟,期待所有使命执行完毕 |