A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© nullException 初级黑马   /  2019-3-21 12:42  /  679 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

多线程

   并发: 在一个时间段内,同时做事情

   并行:多个事情同时做

                举例:吃饭:一盘菜一筷子 : 并发

                                     一口全部都得吃 :并行

   进程和线程

         进程:程序从硬盘加载到了内存,此时在内存中形成的  : 进程

         线程:是程序最小的执行单元,就是一个个的方法

   

   如何开启一个新的线程

               1. 书写一个类,extends Thread
               2.重写run方法
               3.创建对象
               4.调用start 方法,开启线程



  线程的调度

                  1.程序的执行实际上是依赖于cpu

                  2.当有多个程序(多个线程执行时)

                                        cpu   平均分配

                                        cpu          抢占式 (java)

                    java中采用抢占式 : java多线程程序的执行--> 具有随机性



main

   多线程的内存图解

                        每打开一个线程就新开辟了一个栈空间

                        如果采用以前的内存方式:  先进后出

       

   线程的方法

                         getName() --> Thread 类中的方法                  

                                 继承extends Thread

                         如果没有继承Thread 可以采用Thread类中的静态方法

                                 Thread.currentThread().getName()

                          默认的线程名 Thread-0  Thread-1  从0 开始依次递增

                         

                         设置名称方法

                                1. setName

                                 2.构造方法

                          睡眠

                                  1.sleep(毫秒值)

                                   当毫秒值时间到达以后,自动唤醒 --> 接着干活

Runable(推荐使用)

1. 书写一个类,实现Runnable 接口
   1. 重写其run 方法
      1. new Thread(new 对应Runnable 接口 )  拿到thread 对象,再start 此时线程就开启

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马