-
Notifications
You must be signed in to change notification settings - Fork 0
/
test_static_main_thread.cpp
11340 lines (11323 loc) · 266 KB
/
test_static_main_thread.cpp
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
#include <unistd.h>
#include <iostream>
#include <thread>
using namespace std;
// 1. OS将静态对象(TangMQ)在main函数之后释放(执行析构),在析构执行完成的同时结束其他线程(UpdateThreadFunc),
// 可以将TangMQ的析构中sleep时间改成2就能确定这点
// 2. OS对静态对象(CdtsModule)在main函数之后不执行析构,因为是new出来的,不执行delete的话不会析构,
// 而TangMQ不是new出来的,所以会执行析构
class TangMQ
{
public:
static TangMQ &getInstance() { return instance_; }
bool init();
private:
TangMQ();
~TangMQ();
public:
static TangMQ instance_;
};
TangMQ TangMQ::instance_;
TangMQ::TangMQ()
{
cout << "TangMQ::TangMQ()" << endl;
}
TangMQ::~TangMQ()
{
sleep(1);
cout << "TangMQ::~TangMQ()" << endl;
}
bool TangMQ::init()
{
cout << "TangMQ::init()" << endl;
return true;
}
//////////////////
class CdtsModule
{
private:
static CdtsModule* m_instance; /**< the singlington instance of the module class */
std::thread* update_thread_;
public:
CdtsModule();
~CdtsModule();
static CdtsModule* getCdtsModule();
bool initial();
static void UpdateThreadFunc(void* data);
};
CdtsModule *CdtsModule::m_instance = NULL;
CdtsModule::CdtsModule()
{
cout << "CdtsModule::CdtsModule" << endl;
}
CdtsModule::~CdtsModule()
{
update_thread_->join();
cout << "CdtsModule::~CdtsModule()" << endl;
}
CdtsModule *CdtsModule::getCdtsModule()
{
if (m_instance == NULL)
{
m_instance = new CdtsModule();
}
return m_instance;
}
bool CdtsModule::initial()
{
TangMQ::getInstance().init();
update_thread_ = new std::thread(CdtsModule::UpdateThreadFunc, this);
return true;
}
void CdtsModule::UpdateThreadFunc(void *data)
{
int i = 0;
while (1)
{
cout << "UpdateThreadFunc " << i++ << endl;
}
}
int main()
{
cout << "main begin..." << endl;
CdtsModule::getCdtsModule()->initial();
//delete CdtsModule::getCdtsModule();
cout << "main end..." << endl;
return 0;
}
/////////////////////////////////////////////////////////////////////
//output
//root@ubuntu:/home/servitization/core/mem# g++ cdts.cpp -o cdts -std=c++11 -pthread
//root@ubuntu:/home/servitization/core/mem# ./cdts
//TangMQ::TangMQ()
//main begin...
//CdtsModule::CdtsModule
//TangMQ::init()
//main end...
//UpdateThreadFunc 0
//UpdateThreadFunc 1
//UpdateThreadFunc 2
//UpdateThreadFunc 3
//UpdateThreadFunc 4
//UpdateThreadFunc 5
//UpdateThreadFunc 6
//UpdateThreadFunc 7
//UpdateThreadFunc 8
//UpdateThreadFunc 9
//UpdateThreadFunc 10
//UpdateThreadFunc 11
//UpdateThreadFunc 12
//UpdateThreadFunc 13
//UpdateThreadFunc 14
//UpdateThreadFunc 15
//UpdateThreadFunc 16
//UpdateThreadFunc 17
//UpdateThreadFunc 18
//UpdateThreadFunc 19
//UpdateThreadFunc 20
//UpdateThreadFunc 21
//UpdateThreadFunc 22
//UpdateThreadFunc 23
//UpdateThreadFunc 24
//UpdateThreadFunc 25
//UpdateThreadFunc 26
//UpdateThreadFunc 27
//UpdateThreadFunc 28
//UpdateThreadFunc 29
//UpdateThreadFunc 30
//UpdateThreadFunc 31
//UpdateThreadFunc 32
//UpdateThreadFunc 33
//UpdateThreadFunc 34
//UpdateThreadFunc 35
//UpdateThreadFunc 36
//UpdateThreadFunc 37
//UpdateThreadFunc 38
//UpdateThreadFunc 39
//UpdateThreadFunc 40
//UpdateThreadFunc 41
//UpdateThreadFunc 42
//UpdateThreadFunc 43
//UpdateThreadFunc 44
//UpdateThreadFunc 45
//UpdateThreadFunc 46
//UpdateThreadFunc 47
//UpdateThreadFunc 48
//UpdateThreadFunc 49
//UpdateThreadFunc 50
//UpdateThreadFunc 51
//UpdateThreadFunc 52
//UpdateThreadFunc 53
//UpdateThreadFunc 54
//UpdateThreadFunc 55
//UpdateThreadFunc 56
//UpdateThreadFunc 57
//UpdateThreadFunc 58
//UpdateThreadFunc 59
//UpdateThreadFunc 60
//UpdateThreadFunc 61
//UpdateThreadFunc 62
//UpdateThreadFunc 63
//UpdateThreadFunc 64
//UpdateThreadFunc 65
//UpdateThreadFunc 66
//UpdateThreadFunc 67
//UpdateThreadFunc 68
//UpdateThreadFunc 69
//UpdateThreadFunc 70
//UpdateThreadFunc 71
//UpdateThreadFunc 72
//UpdateThreadFunc 73
//UpdateThreadFunc 74
//UpdateThreadFunc 75
//UpdateThreadFunc 76
//UpdateThreadFunc 77
//UpdateThreadFunc 78
//UpdateThreadFunc 79
//UpdateThreadFunc 80
//UpdateThreadFunc 81
//UpdateThreadFunc 82
//UpdateThreadFunc 83
//UpdateThreadFunc 84
//UpdateThreadFunc 85
//UpdateThreadFunc 86
//UpdateThreadFunc 87
//UpdateThreadFunc 88
//UpdateThreadFunc 89
//UpdateThreadFunc 90
//UpdateThreadFunc 91
//UpdateThreadFunc 92
//UpdateThreadFunc 93
//UpdateThreadFunc 94
//UpdateThreadFunc 95
//UpdateThreadFunc 96
//UpdateThreadFunc 97
//UpdateThreadFunc 98
//UpdateThreadFunc 99
//UpdateThreadFunc 100
//UpdateThreadFunc 101
//UpdateThreadFunc 102
//UpdateThreadFunc 103
//UpdateThreadFunc 104
//UpdateThreadFunc 105
//UpdateThreadFunc 106
//UpdateThreadFunc 107
//UpdateThreadFunc 108
//UpdateThreadFunc 109
//UpdateThreadFunc 110
//UpdateThreadFunc 111
//UpdateThreadFunc 112
//UpdateThreadFunc 113
//UpdateThreadFunc 114
//UpdateThreadFunc 115
//UpdateThreadFunc 116
//UpdateThreadFunc 117
//UpdateThreadFunc 118
//UpdateThreadFunc 119
//UpdateThreadFunc 120
//UpdateThreadFunc 121
//UpdateThreadFunc 122
//UpdateThreadFunc 123
//UpdateThreadFunc 124
//UpdateThreadFunc 125
//UpdateThreadFunc 126
//UpdateThreadFunc 127
//UpdateThreadFunc 128
//UpdateThreadFunc 129
//UpdateThreadFunc 130
//UpdateThreadFunc 131
//UpdateThreadFunc 132
//UpdateThreadFunc 133
//UpdateThreadFunc 134
//UpdateThreadFunc 135
//UpdateThreadFunc 136
//UpdateThreadFunc 137
//UpdateThreadFunc 138
//UpdateThreadFunc 139
//UpdateThreadFunc 140
//UpdateThreadFunc 141
//UpdateThreadFunc 142
//UpdateThreadFunc 143
//UpdateThreadFunc 144
//UpdateThreadFunc 145
//UpdateThreadFunc 146
//UpdateThreadFunc 147
//UpdateThreadFunc 148
//UpdateThreadFunc 149
//UpdateThreadFunc 150
//UpdateThreadFunc 151
//UpdateThreadFunc 152
//UpdateThreadFunc 153
//UpdateThreadFunc 154
//UpdateThreadFunc 155
//UpdateThreadFunc 156
//UpdateThreadFunc 157
//UpdateThreadFunc 158
//UpdateThreadFunc 159
//UpdateThreadFunc 160
//UpdateThreadFunc 161
//UpdateThreadFunc 162
//UpdateThreadFunc 163
//UpdateThreadFunc 164
//UpdateThreadFunc 165
//UpdateThreadFunc 166
//UpdateThreadFunc 167
//UpdateThreadFunc 168
//UpdateThreadFunc 169
//UpdateThreadFunc 170
//UpdateThreadFunc 171
//UpdateThreadFunc 172
//UpdateThreadFunc 173
//UpdateThreadFunc 174
//UpdateThreadFunc 175
//UpdateThreadFunc 176
//UpdateThreadFunc 177
//UpdateThreadFunc 178
//UpdateThreadFunc 179
//UpdateThreadFunc 180
//UpdateThreadFunc 181
//UpdateThreadFunc 182
//UpdateThreadFunc 183
//UpdateThreadFunc 184
//UpdateThreadFunc 185
//UpdateThreadFunc 186
//UpdateThreadFunc 187
//UpdateThreadFunc 188
//UpdateThreadFunc 189
//UpdateThreadFunc 190
//UpdateThreadFunc 191
//UpdateThreadFunc 192
//UpdateThreadFunc 193
//UpdateThreadFunc 194
//UpdateThreadFunc 195
//UpdateThreadFunc 196
//UpdateThreadFunc 197
//UpdateThreadFunc 198
//UpdateThreadFunc 199
//UpdateThreadFunc 200
//UpdateThreadFunc 201
//UpdateThreadFunc 202
//UpdateThreadFunc 203
//UpdateThreadFunc 204
//UpdateThreadFunc 205
//UpdateThreadFunc 206
//UpdateThreadFunc 207
//UpdateThreadFunc 208
//UpdateThreadFunc 209
//UpdateThreadFunc 210
//UpdateThreadFunc 211
//UpdateThreadFunc 212
//UpdateThreadFunc 213
//UpdateThreadFunc 214
//UpdateThreadFunc 215
//UpdateThreadFunc 216
//UpdateThreadFunc 217
//UpdateThreadFunc 218
//UpdateThreadFunc 219
//UpdateThreadFunc 220
//UpdateThreadFunc 221
//UpdateThreadFunc 222
//UpdateThreadFunc 223
//UpdateThreadFunc 224
//UpdateThreadFunc 225
//UpdateThreadFunc 226
//UpdateThreadFunc 227
//UpdateThreadFunc 228
//UpdateThreadFunc 229
//UpdateThreadFunc 230
//UpdateThreadFunc 231
//UpdateThreadFunc 232
//UpdateThreadFunc 233
//UpdateThreadFunc 234
//UpdateThreadFunc 235
//UpdateThreadFunc 236
//UpdateThreadFunc 237
//UpdateThreadFunc 238
//UpdateThreadFunc 239
//UpdateThreadFunc 240
//UpdateThreadFunc 241
//UpdateThreadFunc 242
//UpdateThreadFunc 243
//UpdateThreadFunc 244
//UpdateThreadFunc 245
//UpdateThreadFunc 246
//UpdateThreadFunc 247
//UpdateThreadFunc 248
//UpdateThreadFunc 249
//UpdateThreadFunc 250
//UpdateThreadFunc 251
//UpdateThreadFunc 252
//UpdateThreadFunc 253
//UpdateThreadFunc 254
//UpdateThreadFunc 255
//UpdateThreadFunc 256
//UpdateThreadFunc 257
//UpdateThreadFunc 258
//UpdateThreadFunc 259
//UpdateThreadFunc 260
//UpdateThreadFunc 261
//UpdateThreadFunc 262
//UpdateThreadFunc 263
//UpdateThreadFunc 264
//UpdateThreadFunc 265
//UpdateThreadFunc 266
//UpdateThreadFunc 267
//UpdateThreadFunc 268
//UpdateThreadFunc 269
//UpdateThreadFunc 270
//UpdateThreadFunc 271
//UpdateThreadFunc 272
//UpdateThreadFunc 273
//UpdateThreadFunc 274
//UpdateThreadFunc 275
//UpdateThreadFunc 276
//UpdateThreadFunc 277
//UpdateThreadFunc 278
//UpdateThreadFunc 279
//UpdateThreadFunc 280
//UpdateThreadFunc 281
//UpdateThreadFunc 282
//UpdateThreadFunc 283
//UpdateThreadFunc 284
//UpdateThreadFunc 285
//UpdateThreadFunc 286
//UpdateThreadFunc 287
//UpdateThreadFunc 288
//UpdateThreadFunc 289
//UpdateThreadFunc 290
//UpdateThreadFunc 291
//UpdateThreadFunc 292
//UpdateThreadFunc 293
//UpdateThreadFunc 294
//UpdateThreadFunc 295
//UpdateThreadFunc 296
//UpdateThreadFunc 297
//UpdateThreadFunc 298
//UpdateThreadFunc 299
//UpdateThreadFunc 300
//UpdateThreadFunc 301
//UpdateThreadFunc 302
//UpdateThreadFunc 303
//UpdateThreadFunc 304
//UpdateThreadFunc 305
//UpdateThreadFunc 306
//UpdateThreadFunc 307
//UpdateThreadFunc 308
//UpdateThreadFunc 309
//UpdateThreadFunc 310
//UpdateThreadFunc 311
//UpdateThreadFunc 312
//UpdateThreadFunc 313
//UpdateThreadFunc 314
//UpdateThreadFunc 315
//UpdateThreadFunc 316
//UpdateThreadFunc 317
//UpdateThreadFunc 318
//UpdateThreadFunc 319
//UpdateThreadFunc 320
//UpdateThreadFunc 321
//UpdateThreadFunc 322
//UpdateThreadFunc 323
//UpdateThreadFunc 324
//UpdateThreadFunc 325
//UpdateThreadFunc 326
//UpdateThreadFunc 327
//UpdateThreadFunc 328
//UpdateThreadFunc 329
//UpdateThreadFunc 330
//UpdateThreadFunc 331
//UpdateThreadFunc 332
//UpdateThreadFunc 333
//UpdateThreadFunc 334
//UpdateThreadFunc 335
//UpdateThreadFunc 336
//UpdateThreadFunc 337
//UpdateThreadFunc 338
//UpdateThreadFunc 339
//UpdateThreadFunc 340
//UpdateThreadFunc 341
//UpdateThreadFunc 342
//UpdateThreadFunc 343
//UpdateThreadFunc 344
//UpdateThreadFunc 345
//UpdateThreadFunc 346
//UpdateThreadFunc 347
//UpdateThreadFunc 348
//UpdateThreadFunc 349
//UpdateThreadFunc 350
//UpdateThreadFunc 351
//UpdateThreadFunc 352
//UpdateThreadFunc 353
//UpdateThreadFunc 354
//UpdateThreadFunc 355
//UpdateThreadFunc 356
//UpdateThreadFunc 357
//UpdateThreadFunc 358
//UpdateThreadFunc 359
//UpdateThreadFunc 360
//UpdateThreadFunc 361
//UpdateThreadFunc 362
//UpdateThreadFunc 363
//UpdateThreadFunc 364
//UpdateThreadFunc 365
//UpdateThreadFunc 366
//UpdateThreadFunc 367
//UpdateThreadFunc 368
//UpdateThreadFunc 369
//UpdateThreadFunc 370
//UpdateThreadFunc 371
//UpdateThreadFunc 372
//UpdateThreadFunc 373
//UpdateThreadFunc 374
//UpdateThreadFunc 375
//UpdateThreadFunc 376
//UpdateThreadFunc 377
//UpdateThreadFunc 378
//UpdateThreadFunc 379
//UpdateThreadFunc 380
//UpdateThreadFunc 381
//UpdateThreadFunc 382
//UpdateThreadFunc 383
//UpdateThreadFunc 384
//UpdateThreadFunc 385
//UpdateThreadFunc 386
//UpdateThreadFunc 387
//UpdateThreadFunc 388
//UpdateThreadFunc 389
//UpdateThreadFunc 390
//UpdateThreadFunc 391
//UpdateThreadFunc 392
//UpdateThreadFunc 393
//UpdateThreadFunc 394
//UpdateThreadFunc 395
//UpdateThreadFunc 396
//UpdateThreadFunc 397
//UpdateThreadFunc 398
//UpdateThreadFunc 399
//UpdateThreadFunc 400
//UpdateThreadFunc 401
//UpdateThreadFunc 402
//UpdateThreadFunc 403
//UpdateThreadFunc 404
//UpdateThreadFunc 405
//UpdateThreadFunc 406
//UpdateThreadFunc 407
//UpdateThreadFunc 408
//UpdateThreadFunc 409
//UpdateThreadFunc 410
//UpdateThreadFunc 411
//UpdateThreadFunc 412
//UpdateThreadFunc 413
//UpdateThreadFunc 414
//UpdateThreadFunc 415
//UpdateThreadFunc 416
//UpdateThreadFunc 417
//UpdateThreadFunc 418
//UpdateThreadFunc 419
//UpdateThreadFunc 420
//UpdateThreadFunc 421
//UpdateThreadFunc 422
//UpdateThreadFunc 423
//UpdateThreadFunc 424
//UpdateThreadFunc 425
//UpdateThreadFunc 426
//UpdateThreadFunc 427
//UpdateThreadFunc 428
//UpdateThreadFunc 429
//UpdateThreadFunc 430
//UpdateThreadFunc 431
//UpdateThreadFunc 432
//UpdateThreadFunc 433
//UpdateThreadFunc 434
//UpdateThreadFunc 435
//UpdateThreadFunc 436
//UpdateThreadFunc 437
//UpdateThreadFunc 438
//UpdateThreadFunc 439
//UpdateThreadFunc 440
//UpdateThreadFunc 441
//UpdateThreadFunc 442
//UpdateThreadFunc 443
//UpdateThreadFunc 444
//UpdateThreadFunc 445
//UpdateThreadFunc 446
//UpdateThreadFunc 447
//UpdateThreadFunc 448
//UpdateThreadFunc 449
//UpdateThreadFunc 450
//UpdateThreadFunc 451
//UpdateThreadFunc 452
//UpdateThreadFunc 453
//UpdateThreadFunc 454
//UpdateThreadFunc 455
//UpdateThreadFunc 456
//UpdateThreadFunc 457
//UpdateThreadFunc 458
//UpdateThreadFunc 459
//UpdateThreadFunc 460
//UpdateThreadFunc 461
//UpdateThreadFunc 462
//UpdateThreadFunc 463
//UpdateThreadFunc 464
//UpdateThreadFunc 465
//UpdateThreadFunc 466
//UpdateThreadFunc 467
//UpdateThreadFunc 468
//UpdateThreadFunc 469
//UpdateThreadFunc 470
//UpdateThreadFunc 471
//UpdateThreadFunc 472
//UpdateThreadFunc 473
//UpdateThreadFunc 474
//UpdateThreadFunc 475
//UpdateThreadFunc 476
//UpdateThreadFunc 477
//UpdateThreadFunc 478
//UpdateThreadFunc 479
//UpdateThreadFunc 480
//UpdateThreadFunc 481
//UpdateThreadFunc 482
//UpdateThreadFunc 483
//UpdateThreadFunc 484
//UpdateThreadFunc 485
//UpdateThreadFunc 486
//UpdateThreadFunc 487
//UpdateThreadFunc 488
//UpdateThreadFunc 489
//UpdateThreadFunc 490
//UpdateThreadFunc 491
//UpdateThreadFunc 492
//UpdateThreadFunc 493
//UpdateThreadFunc 494
//UpdateThreadFunc 495
//UpdateThreadFunc 496
//UpdateThreadFunc 497
//UpdateThreadFunc 498
//UpdateThreadFunc 499
//UpdateThreadFunc 500
//UpdateThreadFunc 501
//UpdateThreadFunc 502
//UpdateThreadFunc 503
//UpdateThreadFunc 504
//UpdateThreadFunc 505
//UpdateThreadFunc 506
//UpdateThreadFunc 507
//UpdateThreadFunc 508
//UpdateThreadFunc 509
//UpdateThreadFunc 510
//UpdateThreadFunc 511
//UpdateThreadFunc 512
//UpdateThreadFunc 513
//UpdateThreadFunc 514
//UpdateThreadFunc 515
//UpdateThreadFunc 516
//UpdateThreadFunc 517
//UpdateThreadFunc 518
//UpdateThreadFunc 519
//UpdateThreadFunc 520
//UpdateThreadFunc 521
//UpdateThreadFunc 522
//UpdateThreadFunc 523
//UpdateThreadFunc 524
//UpdateThreadFunc 525
//UpdateThreadFunc 526
//UpdateThreadFunc 527
//UpdateThreadFunc 528
//UpdateThreadFunc 529
//UpdateThreadFunc 530
//UpdateThreadFunc 531
//UpdateThreadFunc 532
//UpdateThreadFunc 533
//UpdateThreadFunc 534
//UpdateThreadFunc 535
//UpdateThreadFunc 536
//UpdateThreadFunc 537
//UpdateThreadFunc 538
//UpdateThreadFunc 539
//UpdateThreadFunc 540
//UpdateThreadFunc 541
//UpdateThreadFunc 542
//UpdateThreadFunc 543
//UpdateThreadFunc 544
//UpdateThreadFunc 545
//UpdateThreadFunc 546
//UpdateThreadFunc 547
//UpdateThreadFunc 548
//UpdateThreadFunc 549
//UpdateThreadFunc 550
//UpdateThreadFunc 551
//UpdateThreadFunc 552
//UpdateThreadFunc 553
//UpdateThreadFunc 554
//UpdateThreadFunc 555
//UpdateThreadFunc 556
//UpdateThreadFunc 557
//UpdateThreadFunc 558
//UpdateThreadFunc 559
//UpdateThreadFunc 560
//UpdateThreadFunc 561
//UpdateThreadFunc 562
//UpdateThreadFunc 563
//UpdateThreadFunc 564
//UpdateThreadFunc 565
//UpdateThreadFunc 566
//UpdateThreadFunc 567
//UpdateThreadFunc 568
//UpdateThreadFunc 569
//UpdateThreadFunc 570
//UpdateThreadFunc 571
//UpdateThreadFunc 572
//UpdateThreadFunc 573
//UpdateThreadFunc 574
//UpdateThreadFunc 575
//UpdateThreadFunc 576
//UpdateThreadFunc 577
//UpdateThreadFunc 578
//UpdateThreadFunc 579
//UpdateThreadFunc 580
//UpdateThreadFunc 581
//UpdateThreadFunc 582
//UpdateThreadFunc 583
//UpdateThreadFunc 584
//UpdateThreadFunc 585
//UpdateThreadFunc 586
//UpdateThreadFunc 587
//UpdateThreadFunc 588
//UpdateThreadFunc 589
//UpdateThreadFunc 590
//UpdateThreadFunc 591
//UpdateThreadFunc 592
//UpdateThreadFunc 593
//UpdateThreadFunc 594
//UpdateThreadFunc 595
//UpdateThreadFunc 596
//UpdateThreadFunc 597
//UpdateThreadFunc 598
//UpdateThreadFunc 599
//UpdateThreadFunc 600
//UpdateThreadFunc 601
//UpdateThreadFunc 602
//UpdateThreadFunc 603
//UpdateThreadFunc 604
//UpdateThreadFunc 605
//UpdateThreadFunc 606
//UpdateThreadFunc 607
//UpdateThreadFunc 608
//UpdateThreadFunc 609
//UpdateThreadFunc 610
//UpdateThreadFunc 611
//UpdateThreadFunc 612
//UpdateThreadFunc 613
//UpdateThreadFunc 614
//UpdateThreadFunc 615
//UpdateThreadFunc 616
//UpdateThreadFunc 617
//UpdateThreadFunc 618
//UpdateThreadFunc 619
//UpdateThreadFunc 620
//UpdateThreadFunc 621
//UpdateThreadFunc 622
//UpdateThreadFunc 623
//UpdateThreadFunc 624
//UpdateThreadFunc 625
//UpdateThreadFunc 626
//UpdateThreadFunc 627
//UpdateThreadFunc 628
//UpdateThreadFunc 629
//UpdateThreadFunc 630
//UpdateThreadFunc 631
//UpdateThreadFunc 632
//UpdateThreadFunc 633
//UpdateThreadFunc 634
//UpdateThreadFunc 635
//UpdateThreadFunc 636
//UpdateThreadFunc 637
//UpdateThreadFunc 638
//UpdateThreadFunc 639
//UpdateThreadFunc 640
//UpdateThreadFunc 641
//UpdateThreadFunc 642
//UpdateThreadFunc 643
//UpdateThreadFunc 644
//UpdateThreadFunc 645
//UpdateThreadFunc 646
//UpdateThreadFunc 647
//UpdateThreadFunc 648
//UpdateThreadFunc 649
//UpdateThreadFunc 650
//UpdateThreadFunc 651
//UpdateThreadFunc 652
//UpdateThreadFunc 653
//UpdateThreadFunc 654
//UpdateThreadFunc 655
//UpdateThreadFunc 656
//UpdateThreadFunc 657
//UpdateThreadFunc 658
//UpdateThreadFunc 659
//UpdateThreadFunc 660
//UpdateThreadFunc 661
//UpdateThreadFunc 662
//UpdateThreadFunc 663
//UpdateThreadFunc 664
//UpdateThreadFunc 665
//UpdateThreadFunc 666
//UpdateThreadFunc 667
//UpdateThreadFunc 668
//UpdateThreadFunc 669
//UpdateThreadFunc 670
//UpdateThreadFunc 671
//UpdateThreadFunc 672
//UpdateThreadFunc 673
//UpdateThreadFunc 674
//UpdateThreadFunc 675
//UpdateThreadFunc 676
//UpdateThreadFunc 677
//UpdateThreadFunc 678
//UpdateThreadFunc 679
//UpdateThreadFunc 680
//UpdateThreadFunc 681
//UpdateThreadFunc 682
//UpdateThreadFunc 683
//UpdateThreadFunc 684
//UpdateThreadFunc 685
//UpdateThreadFunc 686
//UpdateThreadFunc 687
//UpdateThreadFunc 688
//UpdateThreadFunc 689
//UpdateThreadFunc 690
//UpdateThreadFunc 691
//UpdateThreadFunc 692
//UpdateThreadFunc 693
//UpdateThreadFunc 694
//UpdateThreadFunc 695
//UpdateThreadFunc 696
//UpdateThreadFunc 697
//UpdateThreadFunc 698
//UpdateThreadFunc 699
//UpdateThreadFunc 700
//UpdateThreadFunc 701
//UpdateThreadFunc 702
//UpdateThreadFunc 703
//UpdateThreadFunc 704
//UpdateThreadFunc 705
//UpdateThreadFunc 706
//UpdateThreadFunc 707
//UpdateThreadFunc 708
//UpdateThreadFunc 709
//UpdateThreadFunc 710
//UpdateThreadFunc 711
//UpdateThreadFunc 712
//UpdateThreadFunc 713
//UpdateThreadFunc 714
//UpdateThreadFunc 715
//UpdateThreadFunc 716
//UpdateThreadFunc 717
//UpdateThreadFunc 718
//UpdateThreadFunc 719
//UpdateThreadFunc 720
//UpdateThreadFunc 721
//UpdateThreadFunc 722
//UpdateThreadFunc 723
//UpdateThreadFunc 724
//UpdateThreadFunc 725
//UpdateThreadFunc 726
//UpdateThreadFunc 727
//UpdateThreadFunc 728
//UpdateThreadFunc 729
//UpdateThreadFunc 730
//UpdateThreadFunc 731
//UpdateThreadFunc 732
//UpdateThreadFunc 733
//UpdateThreadFunc 734
//UpdateThreadFunc 735
//UpdateThreadFunc 736
//UpdateThreadFunc 737
//UpdateThreadFunc 738
//UpdateThreadFunc 739
//UpdateThreadFunc 740
//UpdateThreadFunc 741
//UpdateThreadFunc 742
//UpdateThreadFunc 743
//UpdateThreadFunc 744
//UpdateThreadFunc 745
//UpdateThreadFunc 746
//UpdateThreadFunc 747
//UpdateThreadFunc 748
//UpdateThreadFunc 749
//UpdateThreadFunc 750
//UpdateThreadFunc 751
//UpdateThreadFunc 752
//UpdateThreadFunc 753
//UpdateThreadFunc 754
//UpdateThreadFunc 755
//UpdateThreadFunc 756
//UpdateThreadFunc 757
//UpdateThreadFunc 758
//UpdateThreadFunc 759
//UpdateThreadFunc 760
//UpdateThreadFunc 761
//UpdateThreadFunc 762
//UpdateThreadFunc 763
//UpdateThreadFunc 764
//UpdateThreadFunc 765
//UpdateThreadFunc 766
//UpdateThreadFunc 767
//UpdateThreadFunc 768
//UpdateThreadFunc 769
//UpdateThreadFunc 770
//UpdateThreadFunc 771
//UpdateThreadFunc 772
//UpdateThreadFunc 773
//UpdateThreadFunc 774
//UpdateThreadFunc 775
//UpdateThreadFunc 776
//UpdateThreadFunc 777
//UpdateThreadFunc 778
//UpdateThreadFunc 779
//UpdateThreadFunc 780
//UpdateThreadFunc 781
//UpdateThreadFunc 782
//UpdateThreadFunc 783
//UpdateThreadFunc 784
//UpdateThreadFunc 785
//UpdateThreadFunc 786
//UpdateThreadFunc 787
//UpdateThreadFunc 788
//UpdateThreadFunc 789
//UpdateThreadFunc 790
//UpdateThreadFunc 791
//UpdateThreadFunc 792
//UpdateThreadFunc 793
//UpdateThreadFunc 794
//UpdateThreadFunc 795
//UpdateThreadFunc 796
//UpdateThreadFunc 797
//UpdateThreadFunc 798
//UpdateThreadFunc 799
//UpdateThreadFunc 800
//UpdateThreadFunc 801
//UpdateThreadFunc 802
//UpdateThreadFunc 803
//UpdateThreadFunc 804
//UpdateThreadFunc 805
//UpdateThreadFunc 806
//UpdateThreadFunc 807
//UpdateThreadFunc 808
//UpdateThreadFunc 809
//UpdateThreadFunc 810
//UpdateThreadFunc 811
//UpdateThreadFunc 812
//UpdateThreadFunc 813
//UpdateThreadFunc 814
//UpdateThreadFunc 815
//UpdateThreadFunc 816
//UpdateThreadFunc 817
//UpdateThreadFunc 818
//UpdateThreadFunc 819
//UpdateThreadFunc 820
//UpdateThreadFunc 821
//UpdateThreadFunc 822
//UpdateThreadFunc 823
//UpdateThreadFunc 824
//UpdateThreadFunc 825
//UpdateThreadFunc 826
//UpdateThreadFunc 827
//UpdateThreadFunc 828
//UpdateThreadFunc 829
//UpdateThreadFunc 830
//UpdateThreadFunc 831
//UpdateThreadFunc 832
//UpdateThreadFunc 833
//UpdateThreadFunc 834
//UpdateThreadFunc 835
//UpdateThreadFunc 836
//UpdateThreadFunc 837
//UpdateThreadFunc 838
//UpdateThreadFunc 839
//UpdateThreadFunc 840
//UpdateThreadFunc 841
//UpdateThreadFunc 842
//UpdateThreadFunc 843
//UpdateThreadFunc 844
//UpdateThreadFunc 845
//UpdateThreadFunc 846
//UpdateThreadFunc 847
//UpdateThreadFunc 848
//UpdateThreadFunc 849
//UpdateThreadFunc 850
//UpdateThreadFunc 851
//UpdateThreadFunc 852
//UpdateThreadFunc 853
//UpdateThreadFunc 854
//UpdateThreadFunc 855
//UpdateThreadFunc 856
//UpdateThreadFunc 857
//UpdateThreadFunc 858
//UpdateThreadFunc 859
//UpdateThreadFunc 860
//UpdateThreadFunc 861
//UpdateThreadFunc 862
//UpdateThreadFunc 863
//UpdateThreadFunc 864
//UpdateThreadFunc 865
//UpdateThreadFunc 866
//UpdateThreadFunc 867
//UpdateThreadFunc 868
//UpdateThreadFunc 869
//UpdateThreadFunc 870
//UpdateThreadFunc 871
//UpdateThreadFunc 872
//UpdateThreadFunc 873
//UpdateThreadFunc 874
//UpdateThreadFunc 875
//UpdateThreadFunc 876
//UpdateThreadFunc 877
//UpdateThreadFunc 878
//UpdateThreadFunc 879
//UpdateThreadFunc 880
//UpdateThreadFunc 881
//UpdateThreadFunc 882
//UpdateThreadFunc 883
//UpdateThreadFunc 884
//UpdateThreadFunc 885
//UpdateThreadFunc 886