Java线程
不忘初心珂
这个作者很懒,什么都没留下…
展开
-
Java线程池基础知识解析
一、线程池概念线程池是指在初始化一个多线程应用程序过程中创建一个线程集合,由于单个线程的创建和销毁需要开辟单独的线程内存空间和资源,所以频繁的创建和销毁线程也是需要系统开销的,线程池可以将使用完成的线程暂时回收到线程池中,避免重复创建和销毁带来的资源消耗问题。 二、为什么要有线程池?线程池改进了一个应用程序的响应时间。由于线程池中的线程已经准备好且等待被分配任务,应用程序可以直接拿来使...原创 2018-08-05 20:41:10 · 253 阅读 · 0 评论 -
Java多线程实现复制文件
/** * 实现文件复制功能 * 多线程实现文件从一个目录复制到另一个目录 * @param sourceFile:给定源文件路径名 * @param desPath:复制点文件路径 * @return */代码实现如下:package com.tulun.thread;import java.io.File;import java.io.FileNotFoundExcep...原创 2018-09-24 15:55:33 · 3795 阅读 · 1 评论 -
浅谈volatile关键字
1、可见性可见性:当多个线程访问同一个变量时,一个线程修改了这个变量的值,其他线程能够立即看得到修改的值。在修改变量的时候:1、将修改变量的副本写入主内存2、其它线程的副本置为无效在读取变量的时候先判断volatile关键字修饰的变量副本是否有效,有效直接读取反之,则到主内存获取最新值2、有序性有序性:即程序执行的顺序按照代码的先后顺序执行阻止指令的重排序:在汇编层会对volati...原创 2019-02-24 14:08:32 · 150 阅读 · 0 评论 -
死锁概念?如何分析死锁和避免死锁?
什么是死锁?如何分析死锁和避免死锁?死锁就是在多线程运行时,线程对象在获取操作资源时,操作资源被其他线程对象占用而获取不到,导致线程运行阻塞首先用jsp命令查看当前进程pid是否发生死锁,然后利用可视化工具Jvisualvm查看当前进程的各个线程运行状态(颜色),通过Jvisualvm的线程dump或jstack命令,把当前进程的所有线程的堆栈信息打印出来,然后分析主线程和子线程有没有wa...原创 2019-03-01 16:23:32 · 684 阅读 · 0 评论