java多线程
文章平均质量分 93
时空恋旅人
坚持不懈的学习态度和坚韧的人生品质
展开
-
多线程学习笔记--01(多线程的实现方式,线程API,线程的暂停)
1.学习目标 1.线程如何启动? 2.线程如何停止? 3.线程如何暂停? 4.线程的优先级? 5.线程安全相关问题?2.线程如何启动? 首先什么是线程,什么是进程?一般来说一个应用程序就是一个进程,也有一个应用程序拥有多个进程,他是系统进行资源分配和调度的一个独立单位。 而进程可以理解为在进程中独立运行的子任务.多线......原创 2018-11-24 16:42:50 · 163 阅读 · 0 评论 -
多线程学习笔记--10(多线程里面this.getName()和currentThread.getName()和对象实例.getName()有什么区别)
1.this this是指向对象本身的一个指针 this.getName()和currentThread.getName()方法的比较 先来看下面一个案例:package com.wx.concurrent6;public class MyThread extends Thread { public MyThread(){ ...原创 2019-01-11 16:36:51 · 386 阅读 · 0 评论 -
多线程学习笔记--07Lock的使用
1.ReentrantLock类的使用: ReentrantLock类也能实现同步的效果,但是在扩展和功能上比synchronized更加强大 ReentrantLock对象的lock()方法获取锁,unlock()方法释放锁。 调用了lock()方法的线程持有了对象监视器,其他线程等有等待锁被释放的时候再争抢,使用效果和使用synchronized关键字一样,线程之间的执行顺序是...原创 2018-12-12 21:28:12 · 156 阅读 · 0 评论 -
多线程学习笔记--06线程间的通信(ThreadLocal类的使用)
1.ThreadLocal 用来做线程封闭的变量值的共享可以使用public static 变量值的形式,而如果想实现每一个线程都有自己的共享变量,就需要ThreadLocal类。他主要解决每个线程绑定自己的值,可以将ThreadLocal类比喻成全局存放数据的盒子,盒子中可以存放每个线程的私有数据。类ThreadLocal解决的是变量在不同线程间的隔离性。也就是不用线程拥......原创 2018-12-09 21:44:56 · 749 阅读 · 0 评论 -
多线程学习笔记--08Lock的使用(ReentrantReadWriteLock)
1.读写锁:ReentrantReadWriteLock类: ReentrantLock类虽然能够保证实例变量的安全,但是他的效率是非常低下的。所以提供读写锁来提供该方法的代码的运行速度。 读写锁有两个锁:一个是读操作相关的锁,也称为共享锁,另一个是写操作相关的锁,也称为排他锁,也就是多个读锁之间不互斥,读锁和写锁互斥,写锁和写锁互斥。2.读读共享锁:package co...原创 2018-12-13 20:33:52 · 151 阅读 · 0 评论 -
多线程学习笔记--05线程间的通信(join方法的使用)
1.join() 方法join()的作用是等待线程销毁,方法join具有使线程排队的作用,有些类似同步的运行效果,方法join的作用是使所属的线程对象x正常执行run方法的任务,而使当前线程z进行无限期的阻塞,等待线程x执行完毕后在执行线程后面的代码。join与sychronized关键字的区别:jion在内部使用wait方法进行等待,而sychronized使用的是“对象监视器原理...原创 2018-12-08 22:06:29 · 180 阅读 · 0 评论 -
多线程学习笔记--02(对象及变量的并发访问,Object锁,Class锁,Synchronized和volatile)
1.学习目标 Synchronized对象监视器为Object时的使用 Synchronized对象监视器为Class时的使用 非线程安全是如何出现的, 关键字volatile的主要作用 关键字Synchronized和volatile的主要区别以及使用情况 先来理解理解什么是对象的发布与逸出? 发布(pub......原创 2018-12-01 15:03:14 · 285 阅读 · 0 评论 -
多线程学习笔记--03线程间的通信(wait/notify)
1.线程间的通信 使用wait/notify来实现线程间的通信 生产者/消费者模式的实现 方法join的使用 ThreadLocal类的使用 2.wait/notify: Wait()方法的作用是使当前执行线程的方法进行等待,该方法用来将当前线程置入“预执行队列中”,并且在wait所在的代码处执行停止。直到接到通知或被中断为止。调用...原创 2018-12-03 15:10:05 · 178 阅读 · 0 评论 -
多线程学习笔记--04线程间的通信(通信管道实现线程间的通信)
1.线程间的通信 通过管道实现线程间的通信:字节流 通信关单实现线程间的通信:字符流 等待通知之交叉备份 java的各种流中有一种叫管道流(pipeStream),用于在不同的线程之间直接传送数据,一个线程发送数据到输出管道,另一个线程从从输入管道中读取数据,通过使用管道实现不同线程间的通信 提供四个类来实现通信: ...原创 2018-12-04 22:45:00 · 284 阅读 · 0 评论 -
多线程学习笔记--11(多线程面试题--转载)
本篇博客为转载博客,原文链接在博客后面给出1、什么是线程? 线程是指程序在运行的过程中,能够执行程序代码的一个执行单元。Java语言中,线程有四种状态:运行、就绪、挂起、结束2、线程与进程的区别? 进程是指一段正在执行的程序。而线程有事也被称为轻量级进程,它是程序执行的最小单元,一个进程可以拥有多个线程,各个线程之间共享程序的内存空间(代码段、数据段、堆空间)及一...原创 2019-01-15 15:34:18 · 261 阅读 · 0 评论