首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
多线程并发
订阅
无敌帅哥胖
更多收藏集
微信扫码分享
微信
新浪微博
QQ
8篇文章 · 0订阅
Java多线程之volatile关键字和内存屏障
前面一篇文章在介绍Java内存模型的三大特性(原子性、可见性、有序性)时,在可见性和有序性中都提到了volatile关键字,那这篇文章就来介绍volatile关键字的内存语义以及实现其特性的内存屏障。 volatile是JVM提供的一种最轻量级的同步机制,因为Java内存模型为…
Java多线程进化史[译]
我们的一个读者,Anant最近问了一个非常好的问题。他想要我们阐述/列出我们应该知道的所有关于多线程的主题以及在java 8中发生的变化。(从初级到高级)。他想知道java多线程框架从简单的Runnable接口到java 8最新的特性的进化过程。让我们来解决他的请求。 我花了很…
血洗多线程,抱得 offer 归
工作和面试之中,遇到了很多多线程问题。这里我总结了一下,希望对你有所帮助。本篇内容,基本上都是一些反例,有些很低级但常见。 当然,面试时拿来装逼用,也是极好的。 先来10个。 现象: 系统资源耗尽,进程僵死。 原因: 每次方法执行,都new一个线程池。 现象: 某个线程一直持有…
源码 | 彻底理解ThreadLocal---Java并发编程系列(一)
在Java中根据垃圾回收的方式不同,引用按照对象生命周期的长短分为四种,由高到低分别为强引用、软引用、弱引用和虚引用。 Java中默认的引用类型,一个对象如果具有强引用那么就没有资格被垃圾回收。 一个对象如果只具有软引用,当JVM内存充足的时候和强引用并无区别,那么当JVM内存…
Java学习总结1——多线程编程
该方法不能直接使用start()方法启动线程。 需要使用Thread声明一个对象,再将runnable对象传入Thread对象。 可以很方便的实现多线程数据的共享。 该方法还可以继承其他的类,而继承Thread类的方法不能再继承其他的类了。 直接在主类里面定义一个Runnabl…
让人抓头的Java并发(二) 线程池ThreadPoolExecutor分析
corePoolSize:表示常驻的核心线程数量。如果为0执行任务之后没有任何请求进入时将被销毁,如果大于0则不会被销毁。 maximumPoolSize:表示线程池最大能够容纳同时执行的线程数,必须大于等于1。如果和corePoolSize相等即是固定大小线程池,如果待执行线…
让人抓头的Java并发(一) 轻松认识多线程
现代操作系统的最小执行单元,也称为轻量级线程。一个进程里可以创建多个线程,各个线程可以共享进程资源(内存地址、文件I/O等),又各自拥有独立的计数器、堆栈和局部变量等属性,JVM运行时数据区也如此。 在HotSpot虚拟机中使用的是一对一线程模型,一个Java线程映射一个内核线…
进程知多少?
要讲线程,一般都得讲一讲进程,进程是何方神圣呢?下面来简单介绍一下。 先通过任务管理器看看 Windows 系统下的进程。 从图片来看,每一个进程都占有 CPU、内存、磁盘、网络等资源。站在操作系统的角度,进程是分配资源的基本单位,也是最小单位。 引入进程的目的:为了使多个程序…