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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

一:多线程
1.多线程概念、有何意义
一个进程如果有多条执行任务,也就是说在一个进程中,同时开启多个线程,让多个线程同时去完成某些任务(功能)。则称为多线程程序。
提高了程序的执行效率
2.线程调度及模型
线程调度就是哪个线程被CPU来执行。
线程有两种调度模型:
分时调度模型 :所有线程轮流使用 CPU 的使用权,平均分配每个线程占用 CPU 的时间片。
抢占式调度模型 :优先让优先级高的线程使用 CPU,如果线程的优先级相同,那么会随机选择一个,优先级高的线程获取的 CPU 时间片相对多一些。
Java使用的是抢占式调度模型。JVM是多线程运行。
3.多线程并发、并行
并行:指两个或多个事件在同一时刻发生(同时发生)。
并发:指两个或多个事件在同一个时间段内发生。


二:创建多线程方式
1.方式一 继承Thread类
将类声明为 Thread 的子类。该子类应重写 Thread 类的 run 方法。接下来可以分配并启动该子类的实例。在java中,所有的线程对象都必须是Thread类或其子类的实例。每个线程的作用是完成一定的任务,实际上就是执行一段程序流即一段顺序执行的代码。Java使用线程执行体来代表这段程序流。Java中通过继承Thread类来创建启动多线程。




1.1获取当前线程的对象、获取和设置线程名称
static Thread currentThread()返回对当前正在执行的线程对象的引用。
根据当前线程对象调用线程类Thread类中的方法 String getName()就可以获取当前线程的名称。
根据当前线程对象调用线程类Thread类中的方法 void setName(String name) 就可以设置当前线程的名称。


2.方式二 实现Runnable接口  (推荐使用)



2.2  好处
2.2.1.避免了Java单继承的局限性;
2.2.2.把线程代码和任务的代码分离,解耦合(解除线程代码和任务的代码模块之间的依赖关系)。代码的扩展性非常好;
3.匿名内部类创建方式



4.线程休眠
static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠(暂停执行)
说明:这个函数是静态的,使用线程类名调用。使用哪个线程调用就让哪个线程休眠。



1 个回复

倒序浏览
奈斯,加油加油
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马