Java基础
GISer.Wang
这个作者很懒,什么都没留下…
展开
-
(1)Java多线程的实现
引言 Java多线程的实现 1 多线程的优缺点 2 多线程的实现 3使用 Thread实现多线程技术 4使用 Runnable实现多线程技术 总结1.引言 在学习线程之前,学习一下进程的概念是十分有比较的,那么什么是进程呢?通俗的来讲:进程可以理解为一个应用程序,比如我们打开一个VS软件,或者打开一个myeclipse软件,就产生了一个进程。那么什么是线程呢?线程可以理解为:进程中独立运行原创 2017-01-17 12:38:28 · 946 阅读 · 0 评论 -
(15)Java多线程之线程异常
引言 Sleep相关的异常 1 InterruptedException wait相关的异常 1 等待阶段调用中断方法异常 2 调用wait方法却没有对象锁 3 调用wait方法虽然是同步方法但是不是相应的对象锁 join相关的异常 1 线程等待调用interrupt异常 捕捉异常 1给对象添加异常捕捉器 2 给线程类添加异常捕捉器相当于给全部对象添加异常捕捉 3 线程组内处理异常 4 自定义异常1原创 2017-01-22 19:11:50 · 543 阅读 · 0 评论 -
(13)Java多线程之线程组
引言 将线程放入线程组 1 创建一个线程 2 main函数 3 运行结果 线程组常用的方法 1 group1interrupt中断组内的所有线程 2 uncaughtException给线程组添加默认的异常处理器1.引言 在Java的多线程中有一个线程组的概念,所谓的线程组也就是说线程的组合,线程组是为了方便管理线程而存在的。线程组的结构有一点像树状结构。从上面的图片我们可以看出:在系统线原创 2017-01-21 18:54:18 · 490 阅读 · 0 评论 -
(12)Java多线程之单例模式
引言 单例设计模式的实现 1 单例之饿汉模式 2 单例之饿汉模式 静态代码块 3 单例之懒汉模式 多线程有问题 4 单例之懒汉模式 多线程解决方案一 5 单例之懒汉模式 多线程解决方案二 总结1.引言 在本篇博客中主要介绍单例设计模式在多线程中的应用。什么是单例设计模式?单例设计模式就是只在内存中创建一份对象,单例设计模式就是只在内存中创建一份对象,单例设计模式就是只在内存中创建一份对象。原创 2017-01-21 17:45:34 · 500 阅读 · 0 评论 -
(11)Java多线程之Timer
引言 使用Timer类 1使用schedule执行定时任务 2 使用守护线程的Timer执行定时任务 3 多个任务验证Timer队列 4 验证scheduleAtFixedRate的追赶型 总结1.引言 在JDK中Timer类主要负责定时发布任务。也就是说在指定的时间执行一个任务。Timer类主要负责设置计划任务,真正执行任务的类叫做TimerTask类。 这两个类之间的关系原创 2017-01-20 18:46:12 · 696 阅读 · 0 评论 -
(9)Java多线程之Lock接口
引言 ReentrantLock类的使用 1 使用ReentrantLock进行加锁 11 代码实现 12 注意事项 2 ReentrantLock类实现等待通知机制 21 代码实现 22注意事项 ReentrantReadWriteLock的使用 1 使用ReentrantReadWriteLock对象实现共享 11 代码实现 12注意事项 2 ReentrantReadWriteLock类实现互原创 2017-01-20 13:44:44 · 481 阅读 · 0 评论 -
(10)Java多线程之再看生产者/消费者模式
引言 多生产多消费模式signal实现 1 代码实现 2 运行结果 3 代码原理 总结1.引言 在我们第一次介绍生产者消费者模式的时候,是存在缺点的,缺点就是在唤醒线程的时候,为了避免线程的假死现象,就必须要唤醒所有的线程(其实我们仅仅是想要唤醒对方线程,比如:消费者唤醒生产者线程,生产者唤醒消费者线程)。在本篇博客中就是要解决这个问题,如果利用Lock的等待通知机制唤醒对方线程2.多生产原创 2017-01-20 14:41:10 · 421 阅读 · 0 评论 -
(8)Java多线程之ThreadLocal
引言 ThreadLocal的使用 1 ThreadLocal最简单的使用 2 ThreadLocal实现的原理 3 ThreadLocal在多线程中的使用 4 使用ThreadLocal控制事务1.引言 在前面几篇博客中主要是介绍了多个线程之间交互,如果在多线程中操作同一个变量,那么如果想要实现每一个线程都有着自己的变量,那么应该如何实现呢?JDK为我们提供一个类ThreadLocal,原创 2017-01-19 18:26:04 · 684 阅读 · 0 评论 -
(6)Java之多线程通信
引言 通信一多个线程共享同一个变量 1代码实现多个线程共享arr对象 通信二B线程等待A线程执行完join 1 错误代码 2 正确代码使用join方法 3 join方法的使用 通信三多个线程共享数据通过管道流共享数据 1 代码实现 2管道流之间的交互过程 通信四 1不使用等待通知机制的线程交互 2 等待通知机制进行线程之间的交互 3 等待通知机制的原理 总结1.引言 在多线程编程当中,如果原创 2017-01-18 19:26:46 · 669 阅读 · 0 评论 -
(7)Java多线程之消费者/生产者模式
引言 一生产一消费情况 1 生产者Producer 2 消费者Customer 3 main函数 4 运行结果 一生产多消费 1 生产者Producer代码不变 2 消费者Customer 3main方法 4 运行结果 5 修改代码的原因 多生产一消费 1 生产者代码修改两处 2 消费者代码和一生产一消费的消费者代码一样 3main函数代码 多生产多消费 1生产者代码和多生产一消费代码一样 2消费者原创 2017-01-19 16:11:06 · 590 阅读 · 0 评论 -
(5)Java多线程之ArrayList和SimpleDateFormat
引言 ArrayList线程安全问题 1 ArrayList存在的线程安全问题 2 通过内部类解决线程安全问题这里以add方法为例 3 通过JDK提供我们的api将ArrayList SimpleDateFormat存在的线程安全问题 1 SimpleDateFormat线程非安全 2 使用多个SimpleDateFormat对象 总结1.引言 在前两篇博客中主要记录了多线程编程中存在的原创 2017-01-18 15:43:10 · 605 阅读 · 0 评论 -
(4)Java多线程之安全问题-下
引言 Java多线程中的类锁 1 注意区分类锁和对象锁的区别 Java中的死锁现象 1 最低级的线程死锁现象 volatile关键字 1 同步死循环问题 2 解决死循环记住1.引言 在此篇博客中,主要介绍一下,在Java多线程中的:类锁,死锁,以及volatile关键字。2.Java多线程中的类锁在上一篇博客中我们使用了下面的代码: public synchronized boole原创 2017-01-17 16:49:55 · 640 阅读 · 0 评论 -
(3)Java多线程之安全问题-上
引言 现实实例出现问题 问题的原因 解决多线程安全问题 1 给售票方法直接加一个对象锁 2 给售票方法直接加锁的弊端 3 通过同步块给方法加锁 4 通过同步块给方法加锁补充 41 补充一 42补充二 43 补充三 总结1.引言 在本篇博客中,我主要记录一下在多线程编程中存在的线程安全问题,以及如何去解决这种问题。2 现实实例(出现问题) 首先我们举个例子:我们开发了一个售票系统原创 2017-01-17 15:17:17 · 972 阅读 · 0 评论 -
(2)Java多线程Thread提供的方法
引言 Java线程提供的方法 1 解释静态方法是和当前线程绑定 2 利用interrupt方法控制线程停止 3 使用yield 可以让线程释放资源 4补充 总结1.引言 在本片博客中主要记录一下Thread提供的几种方法,利用该方法我们可以实现一些我们的需求。 currentThread()方法:注意这是静态方法,用于获得当前线程对象 interrupted()方法:注意这是静态方法,用于原创 2017-01-17 13:38:42 · 959 阅读 · 0 评论 -
(14)Java多线程之线程状态
引言 验证线程所处的状态 1 验证New状态 11 代码示例 12代码解释 2 验证Runable状态 21 代码 22代码解释 3 验证terminated状态 31 代码示例 32 代码解释 4 验证状态Timed_waiting 41 代码示例 42 代码解释 5 验证Blocked状态 51 代码示例 52 代码解释 6验证Waiting状态 61 代码示例 62代码解释 从线程状态解释生产原创 2017-01-22 16:21:49 · 876 阅读 · 0 评论