首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
并发
订阅
风雨如晦_
更多收藏集
微信扫码分享
微信
新浪微博
QQ
9篇文章 · 0订阅
线程池的execute方法和submit方法有什么区别?
文章内容很聚焦,但干货十足。不注意的话你可能会落入陷阱。 concurrent包里的ExecutorService,是一个接口,继承的是Executor,而Executor里只有一个方法。 这就是execute方法,接受一个runnable,然后返回为空。也就是说,它接受任务之…
既然synchronized是"万能"的,为什么还需要volatile呢?
1、Java语言为了解决并发编程中存在的原子性、可见性和有序性问题,提供了一系列和并发处理相关的关键字,比如synchronized、volatile、final、concurren包等。(再有人问你Java内存模型是什么,就把这篇文章发给他) 2、synchronized通过…
用户级线程和内核级线程,你分得清吗?
这篇文章是上一篇博客的补充,旨在把没有讲清楚的「用户级线程和内核级线程」补充完整。希望读者能对线程有更进一步的了解。小白最近在学习多线程编程。网上关于多线程的资料很多,小白很快就把线程的基本概念弄懂了
Java 线程通信之 wait/notify 机制
Java 线程通信是将多个独立的线程个体进行关联处理,使得线程与线程之间能进行相互通信。比如线程 A 修改了对象的值,然后通知给线程 B,使线程 B 能够知道线程 A 修改的值,这就是线程通信。 一个线程调用 Object 的 wait() 方法,使其线程被阻塞;另一线程调用 …
不学无数——InterruptedException异常
在了解InterruptedException异常之前应该了解以下的几个关于线程的一些基础知识。 运行(RUNNABLE):java线程中将已经准备就绪(Ready)和正在运行中(Running)的两种状态都统称为“Runnable”。准备就绪的线程会被放在线程池中等待被调用 …
死磕 java魔法类之Unsafe解析
本章是java并发包专题的第一章,但是第一篇写的却不是java并发包中类,而是java中的魔法类sun.misc.Unsafe。 Unsafe为我们提供了访问底层的机制,这种机制仅供java核心类库使用,而不应该被普通用户使用。 但是,为了更好地了解java的生态体系,我们应该…
并发编程-可见性,原子性,有序性问题
传统计算机以单核为主,多个调度任务通过『分时』策略共享同一个处理器的资源。在之后的时间里计算机设备快速发展,随着多核处理器的出现,计算机的运算能力得到了大幅度的提升,在程序的编写方面,出现了并发编程,为的是能够最大程度地提高对处理器的利用率,与此同时,也带来了众多程序并发相关的…
Volatile可见性和禁止指令重排序实现原理
可见性又叫读写可见。即一个共享变量N,当有两个线程A、B同时获取了N的值,A修改N的值,而B读取N的值,可见性规范要求B读取到的值必须是A修改后的值。 MESI协议:在早期的CPU中,是通过在总线加LOCK#锁的方式实现的,但是这种方式开销太大,所以Intel开发了缓存一致性协…
彻底理解 IO多路复用
IO多路复用是一种同步IO模型,实现一个线程可以监视多个文件句柄;一旦某个文件句柄就绪,就能够通知应用程序进行相应的读写操作;没有文件句柄就绪时会阻塞应用程序,交出cpu。多路是指网络连接,复用指的是同一个线程 epoll有EPOLLLT和EPOLLET两种触发模式,LT是默认…