CMGDK r49-rc2
|
00001 # i f n d e f H G L _ T H R E A D _ I N C L U D E 00002 00003 # d e f i n e H G L _ T H R E A D _ I N C L U D E 00004 00005 00006 00007 # i n c l u d e < h g l / t y p e / D a t a T y p e . H > 00008 00009 # i n c l u d e < h g l / t h r e a d / T h r e a d M u t e x . H > 00010 00011 n a m e s p a c e h g l 00012 00013 { 00014 00015 / * * 00016 00017 * ~z{|. ,g{|(uN^z N*N~zv^{t[0< b r > 00018 00019 * S l e e p TE x i t Qpe/f~~zQvz^O(uvS t a r t , C l o s e , P a u s e , R e w i n d /f~~zYvz^O(uv0< b r > 00020 00021 * O(u,g{|S ͑},g{|v^\NxQ(WE x e c u t e QpeQsSS0 00022 00023 * / 00024 00025 c l a s s T h r e a d : p u b l i c T h r e a d M u t e x / / / ~z{| 00026 00027 { 00028 00029 f r i e n d v o i d W a i t T h r e a d ( T h r e a d * * , i n t , d o u b l e ) ; 00030 00031 00032 00033 p r o t e c t e d : 00034 00035 00036 00037 v o i d * t h r e a d p t r ; 00038 00039 00040 00041 p u b l i c : / / NN 00042 00043 00044 00045 D e f E v e n t ( b o o l , O n S t a r t T h r e a d , ( T h r e a d * ) ) ; / / / < ~zЏLwYNN, ԏVf a l s e RO-Nbk~z 00046 00047 D e f E v e n t ( v o i d , O n E n d T h r e a d , ( T h r e a d * ) ) ; / / / < ~zЏL~_gNN 00048 00049 00050 00051 p u b l i c : 00052 00053 00054 00055 T h r e a d ( ) ; 00056 00057 v i r t u a l ~ T h r e a d ( ) ; 00058 00059 00060 00061 00062 00063 / * * 00064 00065 * ~zgbLQpe< b r > 00066 00067 * OS 00068 Y(u 00069 00070 * @ r e t u r n t r u e ~~gbL 00071 00072 * @ r e t u r n f a l s e QgbL 00073 00074 * / 00075 00076 v i r t u a l b o o l E x e c u t e ( ) = 0 ; / / / < ~zvЏLQpe 00077 00078 00079 00080 v i r t u a l b o o l S t a r t ( ) ; / / / < _YЏLS_MR~z 00081 00082 v i r t u a l v o i d C l o s e ( ) ; / / / < sQS_MR~z 00083 00084 00085 00086 v i r t u a l b o o l I s C u r T h r e a d ( ) ; / / / < /f&T/fS_MR~z 00087 00088 00089 00090 v i r t u a l v o i d W a i t ( d o u b l e t i m e = 0 ) ; / / / < I{_S_MR~z 00091 00092 } ; / / c l a s s T h r e a d 00093 00094 00095 00096 v o i d W a i t T h r e a d ( T h r e a d * * , i n t , d o u b l e t i m e = 0 ) ; / / / < I{_Y*N~z-Nv N*N[b 00097 00098 } / / n a m e s p a c e h g l 00099 00100 # e n d i f / / H G L _ T H R E A D _ I N C L U D E 00101 00102