Java并发
Java并发的关键核心知识点介绍
ALONER灬C
这个作者很懒,什么都没留下…
展开
-
共享对象的状态与内存可见性
线程最主要的目的就是提高程序的运行性能,线程可以使程序更加充分地发挥系统的可用处理能力,从而提高系统的资源利用率,但是在有多个线程访问同一个对象时,我们就要保证其安全性。 要编写线程安全的代码,其核心就是对状态访问操作进行管理,特别是对共享的和可变的状态的访问 对象的状态和安全性 定义: 对象的状态是指存储在状态变量(例如实例或静态变量)中的数据,而对象的线程安全性则是对象的行为和其规范是否完全一...原创 2018-12-08 16:25:54 · 262 阅读 · 0 评论 -
对象的发布与逸出
发布: 使对象能够在当前作用域之外的代码中使用。例如,讲一个指向该对象的引用保存到其他代码可以访问的地方,或者在某一个非私有的方法中返回该引用 逸出: 发布内部状态可能会破坏封装性,并使得程序难以维持不变性条件;当某个不应该发布的对象被发布时,这种情况就称为逸出 class UnsafeRelease{ private String[] states = new String[]{"h...原创 2018-12-08 17:27:15 · 421 阅读 · 0 评论 -
Java并发核心:解决共享资源竞争
并发编程使我们将程序划分为多个分离的、独立运行的任务。 通过使用多线程机制,这些独立运行的任务(也被称为子任务)中的每一个都由一个执行线程来驱动。 一个线程就是在进程中的一个单一的顺序控制流,因此单个进程可以拥有多个并发执行的任务。 实现并发最直接的方式是在操作系统级别使用进程; 进程是运行在它自己的地址空间内的自包容的程序; 而实现并发变成最大的困难是如何协调不同线程驱动的任务之间对这些...原创 2018-09-16 22:11:45 · 2154 阅读 · 0 评论 -
Java 线程池原理及简单实现
线程池是和数据库连接池类似的一种池,而仅仅是把池里的对象换成了线程。 核心思想:最主要就是复用的思想,把运行阶段尽量拉长,对每个任务的到来,不是重复创建、销毁,而是重复利用之前建立的线程来执行任务 线程池的作用: 在程序启动的时候就创建若干线程来响应处理,他们被称为线程池,里面的线程称之为工作线程。 1.降低资源损耗。通过重复利用已经创建好的线程来减少在创建新线程和销毁的时候带...原创 2017-09-18 19:54:15 · 349 阅读 · 0 评论