zoukankan      html  css  js  c++  java
  • 线程

    1 线程和进程区别

    每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。线程是一组指令的集合,

    或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线

    程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常由操作系统负责多个线程的调度和执行。

    总结:进程是所有线程的集合,每一个线程是进程中的一条执行路径。

    2 创建线程的方式

    public class FileBatch extends Thread{
        private static Logger logger = LogManager.getLogger(FileBatch.class.getName());
        @Override
        public void run() {
            logger.trace("trace");
            logger.debug("debug");
            logger.info("info");
            logger.warn("warn");
            logger.error("error");
        }
    }
    public class FileDownLoad implements Runnable{
        public static Logger logger = LogManager.getLogger(FileDownLoad.class.getName());
        public void run() {
            logger.info("线程启动");
            logger.exit();
        }
    }
    public class App {
        public static void main(String[] args) throws InterruptedException {
            System.out.println("main 线程启动");
    
            // 创建方法一 : 直接继承Thread类
            FileBatch fileBatch = new FileBatch();
            Thread thread = null;
            // 开启线程start方法
            fileBatch.start();
            fileBatch.sleep(10);
            fileBatch.stop();
            if (!fileBatch.isAlive()) {
                // 创建方法二 实现Runnable接口,通过Thread的构造方法
                FileDownLoad fileDownLoad = new FileDownLoad();
                thread = new Thread(fileDownLoad);
                thread.start();
                thread.sleep(15);
                thread.stop();
            }
            if (!thread.isAlive()) {
                // 创建方法三 匿名类 本质上和方法二是一样的
                Thread th = new Thread(new Runnable() {
                    public void run() {
                        System.out.println("创建线程");
                    }
                });
                th.start();
                th.sleep(15);
                th.stop();
            }
        }
    }

    使用实现实现Runnable接口好,原因实现了接口还可以继续继承,继承了类不能再继承

    4,线程的几种状态

     

    新建:new操作符创建一个线程时, 例如new Thread(r),线程还没有开始运行,此时线程处在新建状态。

    就绪:当新建的线程,调用了start(),之后,start()方法创建线程运行的系统资源,并调度线程运行run()方法。当start()方法返回后,线程就处于就绪状态。

     处于就绪状态的线程并不一定立即运行run()方法,线程还必须同其他线程竞争CPU时间,只有获得CPU时间才可以运行线程。因为在单CPU的计算机系统中,不可能同时运行多个线程,一个时刻仅有一个线程处于运行状态。因此此时可能有多个线程处于就绪状态。对多个处于就绪状态的线程是由Java运行时系统的线程调度程序(thread scheduler)来调度的。

    运行:当线程获得CPU时间后,它才进入运行状态,真正开始执行run()方法.

    阻塞

    线程运行过程中,可能由于各种原因进入阻塞状态:
            1>线程通过调用sleep方法进入睡眠状态;
            2>线程调用一个在I/O上被阻塞的操作,即该操作在输入输出操作完成之前不会返回到它的调用者;
            3>线程试图得到一个锁,而该锁正被其他线程持有;
            4>线程在等待某个触发条件;

    死亡

    有两个原因会导致线程死亡:
      1) run方法正常退出而自然死亡,
      2) 一个未捕获的异常终止了run方法而使线程猝死。

    4,利用多线程给1000个用户发送消息

     思路,用10条线程同时发送,节约时间,每条线程负责的用户是100个

    step1:新建用户类

    public class User {
        
        private String userId;
        
        private String userName;
        
        public User(String userId, String userName){
            this.userId = userId;
            this.userName = userName;
        }
    
        public String getUserId() {
            return userId;
        }
    
        public void setUserId(String userId) {
            this.userId = userId;
        }
    
        public String getUserName() {
            return userName;
        }
    
        public void setUserName(String userName) {
            this.userName = userName;
        }
    
    }

    step 2: 新建集合切割工具类

    public class ListUtils {
    
        /**
         * 
         * @methodDesc: 功能描述:(list 集合分批切割)
         * @author: chris
         */
        public static <T> List<List<T>> splitList(List<T> list, int pageSize) {
            int listSize = list.size();
            int page = (listSize + (pageSize - 1)) / pageSize;
            List<List<T>> listArray = new ArrayList<List<T>>();
            for (int i = 0; i < page; i++) {
                List<T> subList = new ArrayList<T>();
                for (int j = 0; j < listSize; j++) {
                    int pageIndex = ((j + 1) + (pageSize - 1)) / pageSize;
                    if (pageIndex == (i + 1)) {
                        subList.add(list.get(j));
                    }
                    if ((j + 1) == ((j + 1) * pageSize)) {
                        break;
                    }
                }
                listArray.add(subList);
            }
            return listArray;
        }
    
        public static <T> List<List<T>> splitList2(List<T> list, int pageSize) {
            int listSize = list.size();
            List<T> subList = null;
            List<List<T>> listArray = new ArrayList<List<T>>();
            for (int i = 0; i < listSize; i++) {
                if (i % pageSize == 0) {
                    if (subList != null) {
                        listArray.add(subList);
                    }
                    subList = new ArrayList<T>();
                    subList.add(list.get(i));
                    continue;
                }
                subList.add(list.get(i));
            }
            if (subList != null) {
                listArray.add(subList);
            }
            return listArray;
        }
    }

     step3 创建线程类,通过构造方法,将每个线程要处理的集合传入

    public class UserThread implements Runnable {
    
        private List<User> userList;
    
        public UserThread(List<User> userList) {
            this.userList = userList;
        }
    
        public void run() {
            for (User user : userList) {
                System.out.println(
                        Thread.currentThread().getName() + "----" + user.getUserName() + "--------" + user.getUserId());
            }
        }
    }

    step4 实现

    private static List<User> userList;
        //初始化数据
        public static void init(){
            userList = new ArrayList<User>();
            for(int i = 1; i <= 1000; i++){
                User user = new User("userId"+i, "userName"+i);
                userList.add(user);
            }    
        }
        public static void main(String[] args) {
            //初始化数据
            init();
            //定义每个线程处理的count
            int count = 100;
            //划分每个线程处理的用户
            List<List<User>> list = ListUtils.splitList2(userList, count);
            
            for(int i = 0; i < list.size(); i++){
                UserThread userThread = new UserThread(list.get(i));
                Thread thread = new Thread(userThread);
                thread.start();    
            }
        }
    
    }

    打印结果:

    Thread-1----userName101--------userId101
    Thread-4----userName401--------userId401
    Thread-0----userName1--------userId1
    Thread-0----userName2--------userId2
    Thread-0----userName3--------userId3
    Thread-0----userName4--------userId4
    Thread-0----userName5--------userId5
    Thread-0----userName6--------userId6
    Thread-0----userName7--------userId7
    Thread-0----userName8--------userId8
    Thread-0----userName9--------userId9
    Thread-0----userName10--------userId10
    Thread-5----userName501--------userId501
    Thread-3----userName301--------userId301
    Thread-3----userName302--------userId302
    Thread-3----userName303--------userId303
    Thread-3----userName304--------userId304
    Thread-2----userName201--------userId201
    Thread-2----userName202--------userId202
    Thread-8----userName801--------userId801
    Thread-8----userName802--------userId802
    Thread-7----userName701--------userId701
    Thread-7----userName702--------userId702
    Thread-9----userName901--------userId901
    Thread-9----userName902--------userId902
    Thread-9----userName903--------userId903
    Thread-9----userName904--------userId904
    Thread-9----userName905--------userId905
    Thread-7----userName703--------userId703
    Thread-8----userName803--------userId803
    Thread-8----userName804--------userId804
    Thread-8----userName805--------userId805
    Thread-8----userName806--------userId806
    Thread-2----userName203--------userId203
    Thread-2----userName204--------userId204
    Thread-3----userName305--------userId305
    Thread-3----userName306--------userId306
    Thread-5----userName502--------userId502
    Thread-5----userName503--------userId503
    Thread-0----userName11--------userId11
    Thread-0----userName12--------userId12
    Thread-4----userName402--------userId402
    Thread-4----userName403--------userId403
    Thread-6----userName601--------userId601
    Thread-6----userName602--------userId602
    Thread-6----userName603--------userId603
    Thread-1----userName102--------userId102
    Thread-1----userName103--------userId103
    Thread-1----userName104--------userId104
    Thread-1----userName105--------userId105
    Thread-1----userName106--------userId106
    Thread-6----userName604--------userId604
    Thread-6----userName605--------userId605
    Thread-6----userName606--------userId606
    Thread-6----userName607--------userId607
    Thread-4----userName404--------userId404
    Thread-4----userName405--------userId405
    Thread-0----userName13--------userId13
    Thread-0----userName14--------userId14
    Thread-5----userName504--------userId504
    Thread-3----userName307--------userId307
    Thread-2----userName205--------userId205
    Thread-8----userName807--------userId807
    Thread-8----userName808--------userId808
    Thread-8----userName809--------userId809
    Thread-8----userName810--------userId810
    Thread-8----userName811--------userId811
    Thread-7----userName704--------userId704
    Thread-7----userName705--------userId705
    Thread-7----userName706--------userId706
    Thread-7----userName707--------userId707
    Thread-7----userName708--------userId708
    Thread-7----userName709--------userId709
    Thread-7----userName710--------userId710
    Thread-7----userName711--------userId711
    Thread-9----userName906--------userId906
    Thread-7----userName712--------userId712
    Thread-7----userName713--------userId713
    Thread-8----userName812--------userId812
    Thread-8----userName813--------userId813
    Thread-8----userName814--------userId814
    Thread-8----userName815--------userId815
    Thread-8----userName816--------userId816
    Thread-2----userName206--------userId206
    Thread-2----userName207--------userId207
    Thread-2----userName208--------userId208
    Thread-2----userName209--------userId209
    Thread-2----userName210--------userId210
    Thread-3----userName308--------userId308
    Thread-3----userName309--------userId309
    Thread-3----userName310--------userId310
    Thread-3----userName311--------userId311
    Thread-3----userName312--------userId312
    Thread-3----userName313--------userId313
    Thread-3----userName314--------userId314
    Thread-3----userName315--------userId315
    Thread-3----userName316--------userId316
    Thread-3----userName317--------userId317
    Thread-3----userName318--------userId318
    Thread-3----userName319--------userId319
    Thread-3----userName320--------userId320
    Thread-3----userName321--------userId321
    Thread-3----userName322--------userId322
    Thread-3----userName323--------userId323
    Thread-3----userName324--------userId324
    Thread-3----userName325--------userId325
    Thread-3----userName326--------userId326
    Thread-3----userName327--------userId327
    Thread-3----userName328--------userId328
    Thread-3----userName329--------userId329
    Thread-3----userName330--------userId330
    Thread-3----userName331--------userId331
    Thread-3----userName332--------userId332
    Thread-3----userName333--------userId333
    Thread-3----userName334--------userId334
    Thread-3----userName335--------userId335
    Thread-3----userName336--------userId336
    Thread-3----userName337--------userId337
    Thread-5----userName505--------userId505
    Thread-5----userName506--------userId506
    Thread-5----userName507--------userId507
    Thread-5----userName508--------userId508
    Thread-5----userName509--------userId509
    Thread-5----userName510--------userId510
    Thread-5----userName511--------userId511
    Thread-5----userName512--------userId512
    Thread-0----userName15--------userId15
    Thread-0----userName16--------userId16
    Thread-4----userName406--------userId406
    Thread-6----userName608--------userId608
    Thread-1----userName107--------userId107
    Thread-1----userName108--------userId108
    Thread-1----userName109--------userId109
    Thread-1----userName110--------userId110
    Thread-1----userName111--------userId111
    Thread-1----userName112--------userId112
    Thread-1----userName113--------userId113
    Thread-6----userName609--------userId609
    Thread-4----userName407--------userId407
    Thread-4----userName408--------userId408
    Thread-4----userName409--------userId409
    Thread-4----userName410--------userId410
    Thread-4----userName411--------userId411
    Thread-4----userName412--------userId412
    Thread-4----userName413--------userId413
    Thread-4----userName414--------userId414
    Thread-0----userName17--------userId17
    Thread-5----userName513--------userId513
    Thread-5----userName514--------userId514
    Thread-5----userName515--------userId515
    Thread-5----userName516--------userId516
    Thread-5----userName517--------userId517
    Thread-5----userName518--------userId518
    Thread-5----userName519--------userId519
    Thread-5----userName520--------userId520
    Thread-5----userName521--------userId521
    Thread-5----userName522--------userId522
    Thread-5----userName523--------userId523
    Thread-5----userName524--------userId524
    Thread-5----userName525--------userId525
    Thread-5----userName526--------userId526
    Thread-5----userName527--------userId527
    Thread-5----userName528--------userId528
    Thread-3----userName338--------userId338
    Thread-2----userName211--------userId211
    Thread-8----userName817--------userId817
    Thread-8----userName818--------userId818
    Thread-8----userName819--------userId819
    Thread-8----userName820--------userId820
    Thread-8----userName821--------userId821
    Thread-8----userName822--------userId822
    Thread-7----userName714--------userId714
    Thread-9----userName907--------userId907
    Thread-7----userName715--------userId715
    Thread-7----userName716--------userId716
    Thread-7----userName717--------userId717
    Thread-7----userName718--------userId718
    Thread-7----userName719--------userId719
    Thread-7----userName720--------userId720
    Thread-7----userName721--------userId721
    Thread-7----userName722--------userId722
    Thread-7----userName723--------userId723
    Thread-7----userName724--------userId724
    Thread-8----userName823--------userId823
    Thread-8----userName824--------userId824
    Thread-8----userName825--------userId825
    Thread-2----userName212--------userId212
    Thread-3----userName339--------userId339
    Thread-3----userName340--------userId340
    Thread-3----userName341--------userId341
    Thread-3----userName342--------userId342
    Thread-3----userName343--------userId343
    Thread-3----userName344--------userId344
    Thread-3----userName345--------userId345
    Thread-3----userName346--------userId346
    Thread-3----userName347--------userId347
    Thread-3----userName348--------userId348
    Thread-5----userName529--------userId529
    Thread-0----userName18--------userId18
    Thread-0----userName19--------userId19
    Thread-0----userName20--------userId20
    Thread-0----userName21--------userId21
    Thread-0----userName22--------userId22
    Thread-0----userName23--------userId23
    Thread-0----userName24--------userId24
    Thread-0----userName25--------userId25
    Thread-0----userName26--------userId26
    Thread-0----userName27--------userId27
    Thread-4----userName415--------userId415
    Thread-6----userName610--------userId610
    Thread-6----userName611--------userId611
    Thread-6----userName612--------userId612
    Thread-6----userName613--------userId613
    Thread-6----userName614--------userId614
    Thread-6----userName615--------userId615
    Thread-6----userName616--------userId616
    Thread-1----userName114--------userId114
    Thread-1----userName115--------userId115
    Thread-1----userName116--------userId116
    Thread-1----userName117--------userId117
    Thread-1----userName118--------userId118
    Thread-1----userName119--------userId119
    Thread-1----userName120--------userId120
    Thread-1----userName121--------userId121
    Thread-6----userName617--------userId617
    Thread-4----userName416--------userId416
    Thread-0----userName28--------userId28
    Thread-0----userName29--------userId29
    Thread-5----userName530--------userId530
    Thread-5----userName531--------userId531
    Thread-3----userName349--------userId349
    Thread-3----userName350--------userId350
    Thread-3----userName351--------userId351
    Thread-3----userName352--------userId352
    Thread-2----userName213--------userId213
    Thread-2----userName214--------userId214
    Thread-2----userName215--------userId215
    Thread-2----userName216--------userId216
    Thread-8----userName826--------userId826
    Thread-7----userName725--------userId725
    Thread-7----userName726--------userId726
    Thread-7----userName727--------userId727
    Thread-7----userName728--------userId728
    Thread-7----userName729--------userId729
    Thread-7----userName730--------userId730
    Thread-7----userName731--------userId731
    Thread-9----userName908--------userId908
    Thread-9----userName909--------userId909
    Thread-9----userName910--------userId910
    Thread-7----userName732--------userId732
    Thread-7----userName733--------userId733
    Thread-8----userName827--------userId827
    Thread-2----userName217--------userId217
    Thread-3----userName353--------userId353
    Thread-3----userName354--------userId354
    Thread-3----userName355--------userId355
    Thread-3----userName356--------userId356
    Thread-5----userName532--------userId532
    Thread-5----userName533--------userId533
    Thread-5----userName534--------userId534
    Thread-5----userName535--------userId535
    Thread-5----userName536--------userId536
    Thread-5----userName537--------userId537
    Thread-5----userName538--------userId538
    Thread-5----userName539--------userId539
    Thread-5----userName540--------userId540
    Thread-5----userName541--------userId541
    Thread-0----userName30--------userId30
    Thread-4----userName417--------userId417
    Thread-4----userName418--------userId418
    Thread-4----userName419--------userId419
    Thread-4----userName420--------userId420
    Thread-4----userName421--------userId421
    Thread-4----userName422--------userId422
    Thread-4----userName423--------userId423
    Thread-4----userName424--------userId424
    Thread-4----userName425--------userId425
    Thread-4----userName426--------userId426
    Thread-6----userName618--------userId618
    Thread-1----userName122--------userId122
    Thread-6----userName619--------userId619
    Thread-6----userName620--------userId620
    Thread-6----userName621--------userId621
    Thread-6----userName622--------userId622
    Thread-6----userName623--------userId623
    Thread-4----userName427--------userId427
    Thread-0----userName31--------userId31
    Thread-0----userName32--------userId32
    Thread-5----userName542--------userId542
    Thread-5----userName543--------userId543
    Thread-5----userName544--------userId544
    Thread-5----userName545--------userId545
    Thread-5----userName546--------userId546
    Thread-5----userName547--------userId547
    Thread-5----userName548--------userId548
    Thread-5----userName549--------userId549
    Thread-5----userName550--------userId550
    Thread-5----userName551--------userId551
    Thread-5----userName552--------userId552
    Thread-3----userName357--------userId357
    Thread-2----userName218--------userId218
    Thread-2----userName219--------userId219
    Thread-2----userName220--------userId220
    Thread-2----userName221--------userId221
    Thread-2----userName222--------userId222
    Thread-2----userName223--------userId223
    Thread-2----userName224--------userId224
    Thread-2----userName225--------userId225
    Thread-2----userName226--------userId226
    Thread-2----userName227--------userId227
    Thread-2----userName228--------userId228
    Thread-2----userName229--------userId229
    Thread-8----userName828--------userId828
    Thread-8----userName829--------userId829
    Thread-8----userName830--------userId830
    Thread-8----userName831--------userId831
    Thread-8----userName832--------userId832
    Thread-8----userName833--------userId833
    Thread-8----userName834--------userId834
    Thread-8----userName835--------userId835
    Thread-7----userName734--------userId734
    Thread-7----userName735--------userId735
    Thread-7----userName736--------userId736
    Thread-7----userName737--------userId737
    Thread-7----userName738--------userId738
    Thread-7----userName739--------userId739
    Thread-9----userName911--------userId911
    Thread-7----userName740--------userId740
    Thread-8----userName836--------userId836
    Thread-8----userName837--------userId837
    Thread-8----userName838--------userId838
    Thread-8----userName839--------userId839
    Thread-8----userName840--------userId840
    Thread-8----userName841--------userId841
    Thread-8----userName842--------userId842
    Thread-8----userName843--------userId843
    Thread-8----userName844--------userId844
    Thread-8----userName845--------userId845
    Thread-2----userName230--------userId230
    Thread-3----userName358--------userId358
    Thread-5----userName553--------userId553
    Thread-5----userName554--------userId554
    Thread-5----userName555--------userId555
    Thread-5----userName556--------userId556
    Thread-5----userName557--------userId557
    Thread-5----userName558--------userId558
    Thread-5----userName559--------userId559
    Thread-5----userName560--------userId560
    Thread-0----userName33--------userId33
    Thread-4----userName428--------userId428
    Thread-6----userName624--------userId624
    Thread-6----userName625--------userId625
    Thread-6----userName626--------userId626
    Thread-1----userName123--------userId123
    Thread-6----userName627--------userId627
    Thread-6----userName628--------userId628
    Thread-6----userName629--------userId629
    Thread-6----userName630--------userId630
    Thread-6----userName631--------userId631
    Thread-6----userName632--------userId632
    Thread-6----userName633--------userId633
    Thread-6----userName634--------userId634
    Thread-6----userName635--------userId635
    Thread-6----userName636--------userId636
    Thread-6----userName637--------userId637
    Thread-6----userName638--------userId638
    Thread-6----userName639--------userId639
    Thread-6----userName640--------userId640
    Thread-4----userName429--------userId429
    Thread-4----userName430--------userId430
    Thread-4----userName431--------userId431
    Thread-0----userName34--------userId34
    Thread-0----userName35--------userId35
    Thread-0----userName36--------userId36
    Thread-5----userName561--------userId561
    Thread-5----userName562--------userId562
    Thread-3----userName359--------userId359
    Thread-3----userName360--------userId360
    Thread-3----userName361--------userId361
    Thread-3----userName362--------userId362
    Thread-2----userName231--------userId231
    Thread-2----userName232--------userId232
    Thread-2----userName233--------userId233
    Thread-2----userName234--------userId234
    Thread-8----userName846--------userId846
    Thread-8----userName847--------userId847
    Thread-8----userName848--------userId848
    Thread-8----userName849--------userId849
    Thread-8----userName850--------userId850
    Thread-8----userName851--------userId851
    Thread-8----userName852--------userId852
    Thread-8----userName853--------userId853
    Thread-8----userName854--------userId854
    Thread-8----userName855--------userId855
    Thread-8----userName856--------userId856
    Thread-8----userName857--------userId857
    Thread-8----userName858--------userId858
    Thread-8----userName859--------userId859
    Thread-8----userName860--------userId860
    Thread-7----userName741--------userId741
    Thread-7----userName742--------userId742
    Thread-7----userName743--------userId743
    Thread-7----userName744--------userId744
    Thread-7----userName745--------userId745
    Thread-7----userName746--------userId746
    Thread-7----userName747--------userId747
    Thread-7----userName748--------userId748
    Thread-7----userName749--------userId749
    Thread-7----userName750--------userId750
    Thread-7----userName751--------userId751
    Thread-7----userName752--------userId752
    Thread-7----userName753--------userId753
    Thread-7----userName754--------userId754
    Thread-7----userName755--------userId755
    Thread-7----userName756--------userId756
    Thread-7----userName757--------userId757
    Thread-7----userName758--------userId758
    Thread-7----userName759--------userId759
    Thread-9----userName912--------userId912
    Thread-9----userName913--------userId913
    Thread-7----userName760--------userId760
    Thread-7----userName761--------userId761
    Thread-7----userName762--------userId762
    Thread-8----userName861--------userId861
    Thread-8----userName862--------userId862
    Thread-8----userName863--------userId863
    Thread-8----userName864--------userId864
    Thread-2----userName235--------userId235
    Thread-3----userName363--------userId363
    Thread-3----userName364--------userId364
    Thread-3----userName365--------userId365
    Thread-3----userName366--------userId366
    Thread-3----userName367--------userId367
    Thread-5----userName563--------userId563
    Thread-0----userName37--------userId37
    Thread-0----userName38--------userId38
    Thread-0----userName39--------userId39
    Thread-4----userName432--------userId432
    Thread-4----userName433--------userId433
    Thread-4----userName434--------userId434
    Thread-4----userName435--------userId435
    Thread-4----userName436--------userId436
    Thread-4----userName437--------userId437
    Thread-4----userName438--------userId438
    Thread-4----userName439--------userId439
    Thread-4----userName440--------userId440
    Thread-4----userName441--------userId441
    Thread-4----userName442--------userId442
    Thread-4----userName443--------userId443
    Thread-4----userName444--------userId444
    Thread-6----userName641--------userId641
    Thread-1----userName124--------userId124
    Thread-6----userName642--------userId642
    Thread-4----userName445--------userId445
    Thread-4----userName446--------userId446
    Thread-4----userName447--------userId447
    Thread-4----userName448--------userId448
    Thread-4----userName449--------userId449
    Thread-4----userName450--------userId450
    Thread-4----userName451--------userId451
    Thread-0----userName40--------userId40
    Thread-0----userName41--------userId41
    Thread-5----userName564--------userId564
    Thread-3----userName368--------userId368
    Thread-2----userName236--------userId236
    Thread-2----userName237--------userId237
    Thread-2----userName238--------userId238
    Thread-2----userName239--------userId239
    Thread-8----userName865--------userId865
    Thread-7----userName763--------userId763
    Thread-7----userName764--------userId764
    Thread-7----userName765--------userId765
    Thread-7----userName766--------userId766
    Thread-7----userName767--------userId767
    Thread-7----userName768--------userId768
    Thread-7----userName769--------userId769
    Thread-7----userName770--------userId770
    Thread-7----userName771--------userId771
    Thread-9----userName914--------userId914
    Thread-7----userName772--------userId772
    Thread-7----userName773--------userId773
    Thread-7----userName774--------userId774
    Thread-7----userName775--------userId775
    Thread-8----userName866--------userId866
    Thread-8----userName867--------userId867
    Thread-8----userName868--------userId868
    Thread-8----userName869--------userId869
    Thread-8----userName870--------userId870
    Thread-8----userName871--------userId871
    Thread-8----userName872--------userId872
    Thread-8----userName873--------userId873
    Thread-8----userName874--------userId874
    Thread-2----userName240--------userId240
    Thread-2----userName241--------userId241
    Thread-2----userName242--------userId242
    Thread-3----userName369--------userId369
    Thread-3----userName370--------userId370
    Thread-3----userName371--------userId371
    Thread-5----userName565--------userId565
    Thread-5----userName566--------userId566
    Thread-5----userName567--------userId567
    Thread-5----userName568--------userId568
    Thread-0----userName42--------userId42
    Thread-4----userName452--------userId452
    Thread-5----userName569--------userId569
    Thread-5----userName570--------userId570
    Thread-5----userName571--------userId571
    Thread-6----userName643--------userId643
    Thread-6----userName644--------userId644
    Thread-6----userName645--------userId645
    Thread-1----userName125--------userId125
    Thread-1----userName126--------userId126
    Thread-1----userName127--------userId127
    Thread-6----userName646--------userId646
    Thread-6----userName647--------userId647
    Thread-6----userName648--------userId648
    Thread-6----userName649--------userId649
    Thread-6----userName650--------userId650
    Thread-6----userName651--------userId651
    Thread-6----userName652--------userId652
    Thread-6----userName653--------userId653
    Thread-6----userName654--------userId654
    Thread-6----userName655--------userId655
    Thread-5----userName572--------userId572
    Thread-5----userName573--------userId573
    Thread-5----userName574--------userId574
    Thread-5----userName575--------userId575
    Thread-5----userName576--------userId576
    Thread-5----userName577--------userId577
    Thread-5----userName578--------userId578
    Thread-0----userName43--------userId43
    Thread-4----userName453--------userId453
    Thread-4----userName454--------userId454
    Thread-4----userName455--------userId455
    Thread-4----userName456--------userId456
    Thread-4----userName457--------userId457
    Thread-4----userName458--------userId458
    Thread-4----userName459--------userId459
    Thread-3----userName372--------userId372
    Thread-2----userName243--------userId243
    Thread-8----userName875--------userId875
    Thread-8----userName876--------userId876
    Thread-8----userName877--------userId877
    Thread-8----userName878--------userId878
    Thread-8----userName879--------userId879
    Thread-8----userName880--------userId880
    Thread-8----userName881--------userId881
    Thread-8----userName882--------userId882
    Thread-8----userName883--------userId883
    Thread-7----userName776--------userId776
    Thread-9----userName915--------userId915
    Thread-9----userName916--------userId916
    Thread-9----userName917--------userId917
    Thread-9----userName918--------userId918
    Thread-9----userName919--------userId919
    Thread-9----userName920--------userId920
    Thread-9----userName921--------userId921
    Thread-9----userName922--------userId922
    Thread-9----userName923--------userId923
    Thread-9----userName924--------userId924
    Thread-9----userName925--------userId925
    Thread-9----userName926--------userId926
    Thread-9----userName927--------userId927
    Thread-9----userName928--------userId928
    Thread-9----userName929--------userId929
    Thread-9----userName930--------userId930
    Thread-9----userName931--------userId931
    Thread-9----userName932--------userId932
    Thread-9----userName933--------userId933
    Thread-9----userName934--------userId934
    Thread-9----userName935--------userId935
    Thread-9----userName936--------userId936
    Thread-9----userName937--------userId937
    Thread-7----userName777--------userId777
    Thread-7----userName778--------userId778
    Thread-7----userName779--------userId779
    Thread-7----userName780--------userId780
    Thread-7----userName781--------userId781
    Thread-7----userName782--------userId782
    Thread-7----userName783--------userId783
    Thread-7----userName784--------userId784
    Thread-7----userName785--------userId785
    Thread-7----userName786--------userId786
    Thread-7----userName787--------userId787
    Thread-7----userName788--------userId788
    Thread-8----userName884--------userId884
    Thread-8----userName885--------userId885
    Thread-8----userName886--------userId886
    Thread-8----userName887--------userId887
    Thread-8----userName888--------userId888
    Thread-8----userName889--------userId889
    Thread-8----userName890--------userId890
    Thread-8----userName891--------userId891
    Thread-8----userName892--------userId892
    Thread-8----userName893--------userId893
    Thread-8----userName894--------userId894
    Thread-8----userName895--------userId895
    Thread-8----userName896--------userId896
    Thread-8----userName897--------userId897
    Thread-8----userName898--------userId898
    Thread-8----userName899--------userId899
    Thread-8----userName900--------userId900
    Thread-2----userName244--------userId244
    Thread-2----userName245--------userId245
    Thread-2----userName246--------userId246
    Thread-2----userName247--------userId247
    Thread-2----userName248--------userId248
    Thread-2----userName249--------userId249
    Thread-2----userName250--------userId250
    Thread-2----userName251--------userId251
    Thread-2----userName252--------userId252
    Thread-2----userName253--------userId253
    Thread-2----userName254--------userId254
    Thread-2----userName255--------userId255
    Thread-2----userName256--------userId256
    Thread-2----userName257--------userId257
    Thread-2----userName258--------userId258
    Thread-3----userName373--------userId373
    Thread-3----userName374--------userId374
    Thread-3----userName375--------userId375
    Thread-3----userName376--------userId376
    Thread-3----userName377--------userId377
    Thread-4----userName460--------userId460
    Thread-0----userName44--------userId44
    Thread-0----userName45--------userId45
    Thread-0----userName46--------userId46
    Thread-0----userName47--------userId47
    Thread-0----userName48--------userId48
    Thread-0----userName49--------userId49
    Thread-0----userName50--------userId50
    Thread-0----userName51--------userId51
    Thread-0----userName52--------userId52
    Thread-5----userName579--------userId579
    Thread-0----userName53--------userId53
    Thread-0----userName54--------userId54
    Thread-0----userName55--------userId55
    Thread-0----userName56--------userId56
    Thread-0----userName57--------userId57
    Thread-0----userName58--------userId58
    Thread-0----userName59--------userId59
    Thread-0----userName60--------userId60
    Thread-0----userName61--------userId61
    Thread-0----userName62--------userId62
    Thread-0----userName63--------userId63
    Thread-0----userName64--------userId64
    Thread-0----userName65--------userId65
    Thread-0----userName66--------userId66
    Thread-0----userName67--------userId67
    Thread-0----userName68--------userId68
    Thread-6----userName656--------userId656
    Thread-1----userName128--------userId128
    Thread-1----userName129--------userId129
    Thread-1----userName130--------userId130
    Thread-1----userName131--------userId131
    Thread-6----userName657--------userId657
    Thread-0----userName69--------userId69
    Thread-0----userName70--------userId70
    Thread-0----userName71--------userId71
    Thread-0----userName72--------userId72
    Thread-0----userName73--------userId73
    Thread-0----userName74--------userId74
    Thread-0----userName75--------userId75
    Thread-0----userName76--------userId76
    Thread-0----userName77--------userId77
    Thread-0----userName78--------userId78
    Thread-0----userName79--------userId79
    Thread-0----userName80--------userId80
    Thread-0----userName81--------userId81
    Thread-0----userName82--------userId82
    Thread-0----userName83--------userId83
    Thread-0----userName84--------userId84
    Thread-0----userName85--------userId85
    Thread-0----userName86--------userId86
    Thread-0----userName87--------userId87
    Thread-5----userName580--------userId580
    Thread-4----userName461--------userId461
    Thread-3----userName378--------userId378
    Thread-2----userName259--------userId259
    Thread-2----userName260--------userId260
    Thread-2----userName261--------userId261
    Thread-2----userName262--------userId262
    Thread-2----userName263--------userId263
    Thread-2----userName264--------userId264
    Thread-2----userName265--------userId265
    Thread-2----userName266--------userId266
    Thread-2----userName267--------userId267
    Thread-2----userName268--------userId268
    Thread-7----userName789--------userId789
    Thread-9----userName938--------userId938
    Thread-7----userName790--------userId790
    Thread-7----userName791--------userId791
    Thread-7----userName792--------userId792
    Thread-7----userName793--------userId793
    Thread-7----userName794--------userId794
    Thread-7----userName795--------userId795
    Thread-2----userName269--------userId269
    Thread-3----userName379--------userId379
    Thread-4----userName462--------userId462
    Thread-5----userName581--------userId581
    Thread-0----userName88--------userId88
    Thread-6----userName658--------userId658
    Thread-6----userName659--------userId659
    Thread-6----userName660--------userId660
    Thread-6----userName661--------userId661
    Thread-6----userName662--------userId662
    Thread-6----userName663--------userId663
    Thread-6----userName664--------userId664
    Thread-6----userName665--------userId665
    Thread-1----userName132--------userId132
    Thread-6----userName666--------userId666
    Thread-0----userName89--------userId89
    Thread-5----userName582--------userId582
    Thread-5----userName583--------userId583
    Thread-5----userName584--------userId584
    Thread-5----userName585--------userId585
    Thread-5----userName586--------userId586
    Thread-5----userName587--------userId587
    Thread-5----userName588--------userId588
    Thread-5----userName589--------userId589
    Thread-4----userName463--------userId463
    Thread-4----userName464--------userId464
    Thread-4----userName465--------userId465
    Thread-4----userName466--------userId466
    Thread-4----userName467--------userId467
    Thread-4----userName468--------userId468
    Thread-4----userName469--------userId469
    Thread-4----userName470--------userId470
    Thread-4----userName471--------userId471
    Thread-4----userName472--------userId472
    Thread-4----userName473--------userId473
    Thread-4----userName474--------userId474
    Thread-4----userName475--------userId475
    Thread-4----userName476--------userId476
    Thread-4----userName477--------userId477
    Thread-4----userName478--------userId478
    Thread-4----userName479--------userId479
    Thread-4----userName480--------userId480
    Thread-3----userName380--------userId380
    Thread-3----userName381--------userId381
    Thread-3----userName382--------userId382
    Thread-3----userName383--------userId383
    Thread-3----userName384--------userId384
    Thread-3----userName385--------userId385
    Thread-3----userName386--------userId386
    Thread-2----userName270--------userId270
    Thread-2----userName271--------userId271
    Thread-2----userName272--------userId272
    Thread-2----userName273--------userId273
    Thread-2----userName274--------userId274
    Thread-2----userName275--------userId275
    Thread-2----userName276--------userId276
    Thread-2----userName277--------userId277
    Thread-7----userName796--------userId796
    Thread-7----userName797--------userId797
    Thread-7----userName798--------userId798
    Thread-7----userName799--------userId799
    Thread-7----userName800--------userId800
    Thread-9----userName939--------userId939
    Thread-9----userName940--------userId940
    Thread-9----userName941--------userId941
    Thread-9----userName942--------userId942
    Thread-2----userName278--------userId278
    Thread-2----userName279--------userId279
    Thread-2----userName280--------userId280
    Thread-2----userName281--------userId281
    Thread-2----userName282--------userId282
    Thread-2----userName283--------userId283
    Thread-2----userName284--------userId284
    Thread-2----userName285--------userId285
    Thread-3----userName387--------userId387
    Thread-4----userName481--------userId481
    Thread-4----userName482--------userId482
    Thread-4----userName483--------userId483
    Thread-4----userName484--------userId484
    Thread-4----userName485--------userId485
    Thread-4----userName486--------userId486
    Thread-4----userName487--------userId487
    Thread-4----userName488--------userId488
    Thread-4----userName489--------userId489
    Thread-4----userName490--------userId490
    Thread-5----userName590--------userId590
    Thread-5----userName591--------userId591
    Thread-5----userName592--------userId592
    Thread-5----userName593--------userId593
    Thread-5----userName594--------userId594
    Thread-5----userName595--------userId595
    Thread-5----userName596--------userId596
    Thread-5----userName597--------userId597
    Thread-5----userName598--------userId598
    Thread-0----userName90--------userId90
    Thread-6----userName667--------userId667
    Thread-6----userName668--------userId668
    Thread-6----userName669--------userId669
    Thread-6----userName670--------userId670
    Thread-6----userName671--------userId671
    Thread-6----userName672--------userId672
    Thread-6----userName673--------userId673
    Thread-6----userName674--------userId674
    Thread-1----userName133--------userId133
    Thread-6----userName675--------userId675
    Thread-6----userName676--------userId676
    Thread-6----userName677--------userId677
    Thread-6----userName678--------userId678
    Thread-6----userName679--------userId679
    Thread-6----userName680--------userId680
    Thread-6----userName681--------userId681
    Thread-6----userName682--------userId682
    Thread-6----userName683--------userId683
    Thread-6----userName684--------userId684
    Thread-6----userName685--------userId685
    Thread-6----userName686--------userId686
    Thread-6----userName687--------userId687
    Thread-6----userName688--------userId688
    Thread-6----userName689--------userId689
    Thread-6----userName690--------userId690
    Thread-6----userName691--------userId691
    Thread-6----userName692--------userId692
    Thread-6----userName693--------userId693
    Thread-6----userName694--------userId694
    Thread-6----userName695--------userId695
    Thread-6----userName696--------userId696
    Thread-6----userName697--------userId697
    Thread-6----userName698--------userId698
    Thread-6----userName699--------userId699
    Thread-6----userName700--------userId700
    Thread-0----userName91--------userId91
    Thread-0----userName92--------userId92
    Thread-0----userName93--------userId93
    Thread-0----userName94--------userId94
    Thread-0----userName95--------userId95
    Thread-5----userName599--------userId599
    Thread-4----userName491--------userId491
    Thread-4----userName492--------userId492
    Thread-4----userName493--------userId493
    Thread-4----userName494--------userId494
    Thread-4----userName495--------userId495
    Thread-4----userName496--------userId496
    Thread-4----userName497--------userId497
    Thread-4----userName498--------userId498
    Thread-4----userName499--------userId499
    Thread-4----userName500--------userId500
    Thread-3----userName388--------userId388
    Thread-3----userName389--------userId389
    Thread-3----userName390--------userId390
    Thread-3----userName391--------userId391
    Thread-3----userName392--------userId392
    Thread-2----userName286--------userId286
    Thread-2----userName287--------userId287
    Thread-9----userName943--------userId943
    Thread-2----userName288--------userId288
    Thread-2----userName289--------userId289
    Thread-2----userName290--------userId290
    Thread-3----userName393--------userId393
    Thread-2----userName291--------userId291
    Thread-2----userName292--------userId292
    Thread-2----userName293--------userId293
    Thread-2----userName294--------userId294
    Thread-2----userName295--------userId295
    Thread-2----userName296--------userId296
    Thread-2----userName297--------userId297
    Thread-2----userName298--------userId298
    Thread-2----userName299--------userId299
    Thread-2----userName300--------userId300
    Thread-5----userName600--------userId600
    Thread-0----userName96--------userId96
    Thread-0----userName97--------userId97
    Thread-1----userName134--------userId134
    Thread-1----userName135--------userId135
    Thread-1----userName136--------userId136
    Thread-1----userName137--------userId137
    Thread-1----userName138--------userId138
    Thread-1----userName139--------userId139
    Thread-1----userName140--------userId140
    Thread-0----userName98--------userId98
    Thread-0----userName99--------userId99
    Thread-0----userName100--------userId100
    Thread-3----userName394--------userId394
    Thread-3----userName395--------userId395
    Thread-3----userName396--------userId396
    Thread-3----userName397--------userId397
    Thread-3----userName398--------userId398
    Thread-3----userName399--------userId399
    Thread-9----userName944--------userId944
    Thread-3----userName400--------userId400
    Thread-1----userName141--------userId141
    Thread-1----userName142--------userId142
    Thread-1----userName143--------userId143
    Thread-1----userName144--------userId144
    Thread-1----userName145--------userId145
    Thread-1----userName146--------userId146
    Thread-1----userName147--------userId147
    Thread-1----userName148--------userId148
    Thread-1----userName149--------userId149
    Thread-1----userName150--------userId150
    Thread-9----userName945--------userId945
    Thread-9----userName946--------userId946
    Thread-9----userName947--------userId947
    Thread-9----userName948--------userId948
    Thread-9----userName949--------userId949
    Thread-9----userName950--------userId950
    Thread-9----userName951--------userId951
    Thread-1----userName151--------userId151
    Thread-1----userName152--------userId152
    Thread-1----userName153--------userId153
    Thread-1----userName154--------userId154
    Thread-9----userName952--------userId952
    Thread-9----userName953--------userId953
    Thread-9----userName954--------userId954
    Thread-9----userName955--------userId955
    Thread-9----userName956--------userId956
    Thread-9----userName957--------userId957
    Thread-9----userName958--------userId958
    Thread-9----userName959--------userId959
    Thread-9----userName960--------userId960
    Thread-9----userName961--------userId961
    Thread-1----userName155--------userId155
    Thread-1----userName156--------userId156
    Thread-1----userName157--------userId157
    Thread-1----userName158--------userId158
    Thread-1----userName159--------userId159
    Thread-9----userName962--------userId962
    Thread-9----userName963--------userId963
    Thread-9----userName964--------userId964
    Thread-9----userName965--------userId965
    Thread-9----userName966--------userId966
    Thread-9----userName967--------userId967
    Thread-9----userName968--------userId968
    Thread-9----userName969--------userId969
    Thread-9----userName970--------userId970
    Thread-9----userName971--------userId971
    Thread-1----userName160--------userId160
    Thread-1----userName161--------userId161
    Thread-1----userName162--------userId162
    Thread-1----userName163--------userId163
    Thread-1----userName164--------userId164
    Thread-1----userName165--------userId165
    Thread-1----userName166--------userId166
    Thread-9----userName972--------userId972
    Thread-9----userName973--------userId973
    Thread-9----userName974--------userId974
    Thread-9----userName975--------userId975
    Thread-9----userName976--------userId976
    Thread-9----userName977--------userId977
    Thread-9----userName978--------userId978
    Thread-9----userName979--------userId979
    Thread-9----userName980--------userId980
    Thread-1----userName167--------userId167
    Thread-1----userName168--------userId168
    Thread-1----userName169--------userId169
    Thread-9----userName981--------userId981
    Thread-1----userName170--------userId170
    Thread-1----userName171--------userId171
    Thread-1----userName172--------userId172
    Thread-1----userName173--------userId173
    Thread-1----userName174--------userId174
    Thread-1----userName175--------userId175
    Thread-1----userName176--------userId176
    Thread-1----userName177--------userId177
    Thread-1----userName178--------userId178
    Thread-1----userName179--------userId179
    Thread-9----userName982--------userId982
    Thread-9----userName983--------userId983
    Thread-9----userName984--------userId984
    Thread-9----userName985--------userId985
    Thread-9----userName986--------userId986
    Thread-9----userName987--------userId987
    Thread-9----userName988--------userId988
    Thread-9----userName989--------userId989
    Thread-9----userName990--------userId990
    Thread-1----userName180--------userId180
    Thread-1----userName181--------userId181
    Thread-1----userName182--------userId182
    Thread-1----userName183--------userId183
    Thread-1----userName184--------userId184
    Thread-1----userName185--------userId185
    Thread-1----userName186--------userId186
    Thread-1----userName187--------userId187
    Thread-1----userName188--------userId188
    Thread-9----userName991--------userId991
    Thread-9----userName992--------userId992
    Thread-9----userName993--------userId993
    Thread-9----userName994--------userId994
    Thread-9----userName995--------userId995
    Thread-9----userName996--------userId996
    Thread-9----userName997--------userId997
    Thread-9----userName998--------userId998
    Thread-9----userName999--------userId999
    Thread-9----userName1000--------userId1000
    Thread-1----userName189--------userId189
    Thread-1----userName190--------userId190
    Thread-1----userName191--------userId191
    Thread-1----userName192--------userId192
    Thread-1----userName193--------userId193
    Thread-1----userName194--------userId194
    Thread-1----userName195--------userId195
    Thread-1----userName196--------userId196
    Thread-1----userName197--------userId197
    Thread-1----userName198--------userId198
    Thread-1----userName199--------userId199
    Thread-1----userName200--------userId200
  • 相关阅读:
    vue element-admin 清空校验
    vue+elementui 动态改变表单必填项
    什么是中台
    项目中遇到的一道算法题
    【解决】Word中公式突然乱码
    【解决】MATLAB报错:此上下文中不支持函数定义,请在代码文件中创建函数。
    【解决】Word打印成PDF出错:%%[ ProductName: Distiller ]%%
    Bike Sharing Analysis(二)- 假设检验方法
    Bike Sharing Analysis(一)- 探索数据
    Spark Structured Streaming(二)实战
  • 原文地址:https://www.cnblogs.com/pickKnow/p/11015122.html
Copyright © 2011-2022 走看看