大孟的博客

一枚奋斗的小菜鸟

排序:
默认
按更新时间
按访问量

Java多线程2.10.定时器的概述与使用-多线程面试题

定时器的概述与使用   1、定时器的概述 定时器是一个应用十分广泛的线程工具,可用于调度多个定时任务以后台线程的方式执行。 在Java中,可以通过Timer和TimerTask类来实现定义调度的功能 Timer类 public Timer() public void schedul...

2018-09-15 19:59:18

阅读数:26

评论数:0

Java多线程2.9.实现线程的常用方式-匿名内部类

实现线程的常用方式-匿名内部类   1、匿名内部类的格式 匿名内部类的格式。 本质:是该类或者接口的子类对象。 new 类名或者接口名() { 重写方法; }; 2、实现线程的常用方式-匿名内部类 继承Thread类来实现多线程 实现Runnable接口来实现多线程 p...

2018-09-15 19:36:21

阅读数:25

评论数:0

Java多线程2.8.线程池2-ExecutorService对象-Callable接口

线程池   1、实现Callable接口来实现线程池 Callable:是带泛型的接口。 这里指定的泛型其实是call()方法的返回值类型。 (1)创建实现Callable类的线程类 package cn.itcast_09; import java.util.concurrent.C...

2018-09-15 19:07:19

阅读数:26

评论数:0

Java多线程2.7.线程池1-ExecutorService对象-Runnable接口

线程池   1、线程池的概述 程序启动一个新线程成本是比较高的,因为它涉及到要与操作系统进行交互。而使用线程池可以很好的提高性能,尤其是当程序中要创建大量生存期很短的线程时,更应该考虑使用线程池。 线程池里的每一个线程代码结束后,并不会死亡,而是再次回到线程池中成为空闲状态,等待下一个对象...

2018-09-15 18:30:03

阅读数:33

评论数:0

Java多线程2.6.线程组的概述与使用

线程组的概述与使用   1、线程组 线程组: 把多个线程组合到一起。 主要作用: 它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。 (1)创建线程类 package cn.itcast_06; public class MyRunnable implements R...

2018-09-15 17:57:12

阅读数:24

评论数:0

Java多线程2.5.生产者与消费者之间的关系4

生产者与消费者之间的关系   1、线程间通信举例的问题解决2 之代码优化 (1)创建学生类——资源类需要自己提供线程安全的方法 package cn.itcast_07; public class Student { private String name; private int ...

2018-09-15 17:55:50

阅读数:20

评论数:0

Java多线程2.4.生产者与消费者之间的关系3

生产者与消费者之间的关系   1、线程间通信举例的问题解决2 (1)创建学生类 package cn.itcast_05; public class Student { String name; int age; boolean flag; // 默认情况是没有数据,如果是true...

2018-09-15 17:07:28

阅读数:26

评论数:0

Java多线程2.3.生产者与消费者之间的关系2

生产者与消费者之间的关系   1、线程间通信问题描述图   2、线程的状态转换图及常见执行情况 3、等待唤醒机制思路图解 4、线程的生命周期              ...

2018-09-15 12:03:43

阅读数:29

评论数:0

Java多线程2.2.生产者与消费者之间的关系1

线程间通信问题   1、线程间通信问题 (1)线程间通信问题:不同种类的线程之间针对同一个资源的操作。 (2)通过设置线程(生产者)和获取线程(消费者)针对同一个学生对象进行操作。 2、线程间通信举例 (1)创建学生类 package cn.itcast_03; public cl...

2018-09-15 11:57:09

阅读数:27

评论数:0

Java多线程2.1.多线程之死锁

多线程之死锁   1、锁对象Lock 虽然我们可以理解同步代码块和同步方法的锁对象问题,但是我们并没有直接看到在哪里加上了锁,在哪里释放了锁。 为了更清晰的表达如何加锁和释放锁,JDK5以后提供了一个新的锁对象Lock。 Lock:是一个接口 void lock() void un...

2018-09-15 10:52:44

阅读数:26

评论数:0

Java多线程1.11.多线程之容器

多线程之容器   1、线程安全的类         // 线程安全的类         StringBuffer sb = new StringBuffer();         Vector<String> v = new Vector&...

2018-09-02 19:42:23

阅读数:46

评论数:2

Java多线程1.10.多线程程序练习的问题解决之解释

多线程程序练习的问题解决之解释   1、多线程程序练习的问题解决之文字解释(三种方式)  * A: 同步代码块的锁对象是谁呢?  *         任意对象。  *  * B: 同步方法的格式及锁对象问题?  *         把同步关键字 Synchronized 加在方法上。  * ...

2018-09-02 19:33:26

阅读数:33

评论数:0

Java多线程1.9.多线程程序练习的问题解决

多线程程序练习的问题解决   1、解决问题思路分析 /*  * 如何解决线程安全问题呢?  *  * 要想解决问题,就要知道哪些原因会导致出问题:(而且这些原因也是以后我们判断一个程序是否会有线程安全问题的标准!) * A:  是否是多线程环境  * B:  是否有共享数据  * C:  是...

2018-09-02 18:55:30

阅读数:33

评论数:0

Java多线程1.8.多线程程序练习

多线程程序练习   1、需求: 某电影院目前正在上映贺岁大片,共有100张票,而它有3个售票窗口售票,请设计一个程序模拟该电影院售票。 两种方式实现: 继承Thread类 实现Runnable接口 2、实现方式1:继承Thread类 (1)创建线程类 package cn.itc...

2018-09-02 18:13:07

阅读数:47

评论数:0

Java多线程1.7.实现多线程的方式1和方式2的比较

实现多线程的方式1和方式2的比较   问题引入: Java多线程的实现方式有两个,那么它们之间有什么区别呢? 有了方式1为什么还要方式2呢?    

2018-09-02 17:18:10

阅读数:24

评论数:0

Java多线程1.6.实现多线程的方式2

 实现多线程的程序   方式2:实现Runnable接口 4 个步骤:          A:自定义类MyRunnable实现Runnable接口          B:在MyRunnable类中重写run()方法          C:创建MyRunnable类的对象          ...

2018-09-02 17:03:36

阅读数:30

评论数:0

Java多线程1.5.线程的生命周期

Java线程的生命周期   1、Java线程的生命周期图解 新建状态 就绪状态 运行状态 死亡状态 阻塞状态         2、    

2018-09-02 16:42:04

阅读数:27

评论数:0

Java多线程1.4.线程控制

线程控制   1、线程控制 我们已经知道了线程调度,接下来我们就可以使用如下方法对线程进行控制。 线程休眠:public static void sleep(long millis) 线程加入:public final void join() 线程礼让:public static vo...

2018-09-02 16:20:00

阅读数:26

评论数:0

Java多线程1.3.线程调度

线程调度   1、问题引入 (1)假如我们的计算机只有一个 CPU,那么 CPU 在某一个时刻只能执行一条指令,线程只有得到 CPU时间片,也就是CPU使用权,才可以执行指令。那么Java是如何对线程进行调用的呢? (2)线程有两种调度模型: 分时调度模型:所有线程轮流使用 CPU 的使用...

2018-09-02 15:30:34

阅读数:29

评论数:0

Java多线程1.2.实现多线程的方式1

 实现多线程的程序   1、Java程序的启动原理: 由java命令启动JVM,JVM启动就相当于启动了一个进程。接着,由该进程创建了一个主线程去调用了main方法。 2、思考题:         jvm虚拟机的启动是单线程的还是多线程的?              是多线程的。      ...

2018-06-01 16:24:27

阅读数:238

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭