大孟的博客

一枚奋斗的小菜鸟

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

多线程面试题

【问题】实现一个容器,提供两个方法,add,size。写两个线程,线程1添加10个元素到容器中,线程2实现监控元素的个数,当个数到5个时,线程2给出提示并结束。 (1)解决方案1 /** * 曾经的面试题:(淘宝?) * 实现一个容器,提供两个方法,add,size * 写两个线程,...

2018-12-16 17:28:26

阅读数:17

评论数:0

【Java线程池】Java线程池汇总,看这一篇文章就够了

【Java线程池】Java线程池汇总,看这一篇文章就够了   (1)引言1:Java线程池  在面向对象编程中,创建和销毁对象是很费时间的,因为创建一个对象要获取内存资源或者其它更多资源。在Java中更是如此,虚拟机将试图跟踪每一个对象,以便能够在对象销毁后进行垃圾回收。所以提高服务程序效率...

2018-10-25 13:31:42

阅读数:38

评论数:0

【Java多线程实战】实现连环爆炸

【Java多线程实战】实现连环爆炸   1、Timer和TimerTask可以做为实现线程的第三种方式,前两种方式分别是继承自Thread类和实现Runnable接口。 2、Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器...

2018-10-25 10:54:42

阅读数:27

评论数:0

【Java内存模型】笔记

【Java内存模型】笔记   【Java内存模型】笔记,此专栏是用来记录一些关于Java内存模型的知识点的,可能会比较零零散散。比较详细的内存模型应该会写专门的博客来学习。   1、这就涉及到内存模型的知识了,我们都知道CPU运算速度极快,但是每次读取数据都要直接访问内存,会严重拖慢CPU...

2018-10-25 09:43:18

阅读数:28

评论数:0

【Java多线程实战】求和

Java多线程实战-求和   需求:开启五个线程,每个线程对一个给定数值从0开始累加求和。 (1)MyCallable.java package com.storm_02; import java.util.ArrayList; import java.util.Date; impor...

2018-10-24 17:03:59

阅读数:46

评论数:0

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

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

2018-09-15 19:59:18

阅读数:30

评论数:0

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

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

2018-09-15 19:36:21

阅读数:29

评论数: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

阅读数:30

评论数:0

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

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

2018-09-15 18:30:03

阅读数:42

评论数:0

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

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

2018-09-15 17:57:12

阅读数:25

评论数: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

阅读数:25

评论数: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

阅读数:33

评论数:0

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

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

2018-09-15 12:03:43

阅读数:33

评论数:0

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

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

2018-09-15 11:57:09

阅读数:29

评论数:0

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

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

2018-09-15 10:52:44

阅读数:31

评论数:0

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

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

2018-09-02 19:42:23

阅读数:55

评论数:2

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

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

2018-09-02 19:33:26

阅读数:50

评论数:0

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

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

2018-09-02 18:55:30

阅读数:39

评论数:0

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

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

2018-09-02 18:13:07

阅读数:73

评论数:0

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

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

2018-09-02 17:18:10

阅读数:46

评论数:0

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