多线程
qq_35151346
这个作者很懒,什么都没留下…
展开
-
java多线程(一)线程的3种创建方式
线程的3种创建方式一、线程的概念1.概念二、创建线程1.项目结构2.需要执行的类People3.继承Thread4. 实现runnable5.实现Callable6.main方法三、总结1.运行结果2.结果分析3.结语 一、线程的概念 1.概念 1.1进程是一个应用程序的运行,运用一个应用程序只有一个进程,一个进程拥有多个线程,在java中,main方法就是一个线程,而有时我们为了提高代码的执...原创 2019-05-19 11:58:13 · 267 阅读 · 0 评论 -
Java多线程(二)(synchronized,ReetrantLock)锁机制
Java多线程(二)锁机制一、锁的概念1.什么是锁2.不用锁如何3.用了锁如何二、ReentrantLock和synchronized1.synchronized2.ReentrantLock3.uml图4.代码5.结果6.两者区别五、锁分类1.公平锁2.可重入锁3.共享锁4.互斥锁5.乐观锁6.分段锁7.偏向锁8.自旋锁五、总结 一、锁的概念 1.什么是锁 1.1 简单的来说,有一间房屋,屋...原创 2019-05-19 23:06:57 · 690 阅读 · 0 评论 -
java多线程(三)生产消费模型(wait和notify)
生产消费模型一、Object自带的方法1.wait2.notify和notifyAll二、生产消费模式1.前言2.uml图3.代码4.结果5. 总结 一、Object自带的方法 1.wait 1.1 wait()方法,在其他线程调用notify和notifyAll方法之前,当前线程等待。 什么意思了,就是在当某一个线程在执行一个任务时,这个任务是一个方法,方法中有一个wait方法,当线程执行到这...原创 2019-05-20 22:09:03 · 395 阅读 · 1 评论 -
java并发容器类
一、概述 在Java中,普通常用集合 1.这些集合在我们编程中经常用到,但是在这些集合中除HashTale外,其他的都是属于线程不安全的,意味着我们在多线程情况下使用这些集合,我们的数据不能得到保障。单是HashTable的底层实现是给整个数组加了一把锁,意味着在多线程下,势必会出现线程竞争资源的情况,轻量级锁不停自旋后会升级为重量级锁,性能较差。 2.为了能够在多线程情况下操作数...原创 2019-08-19 15:34:12 · 250 阅读 · 0 评论 -
JUC工具类
一、概述 1.在并发编程中,我们会用到并发容器,线程池,线程方法。同时如果能够很好的使用JUC下的一些常用工具,对并发编程事半功倍。 2.常见的工具:Semaphore、CountDownLatch、CyclicBarrier、ExChanger、Phaser 二、作用 1.Semaphore 通俗来讲这个工具类的作用就是来控制某一资源同一时间段线程数量的访问...原创 2019-08-21 16:53:51 · 524 阅读 · 0 评论 -
如何正确的使用线程池
一、jdk自带创建线程池 1.Executors工具类本身给我们提供了几种创建线程的方法 2.Executors.newCachedThreadPool(); public static ExecutorService newCachedThreadPool() { return new ThreadPoolExe...原创 2019-08-17 20:24:42 · 766 阅读 · 0 评论 -
ThreadLocal使用
ThreadLocal 1.Threadlocal能够保证一个变量能够在多线程环境下保持互不影响,主要原理是,每一个线程都有自己的内存空间。而ThreadLocal为每一个线程分配一个变量副本,保存在线程自己的内存空。当线程销毁时,变量副本也会跟着被回收。 package com.test.util; public class Test { public static v...原创 2019-08-27 15:37:21 · 90 阅读 · 0 评论