文档章节

<Java并发编程实战>读书笔记--第一章

C
 ChengfeiFeng
发布于 2017/05/06 15:12
字数 512
阅读 3
收藏 0
  1. 进程和线程:
  • 进程是正在运行的二进制程序,每个进程拥有独立的内存空间。
  • 线程是操作系统可以调度的最小执行单元,一个线程独立的运行在一个cpu上。
  • 每个进程可以包含一个或者多个线程,多个线程会共享进程的内存空间,但是每个 线程都有自己的程序计数器,方法栈,局部变量等。
  1. 多线程带来的风险:
  • 安全性问题:由于多个线程会共享进程的内存空间,因此当两个线程同时操作线程间共享的变量时,就会使程序的运行结果不可预测,例如竞态条件(当两个线程同时操作一个变量时,由于执行顺序不同而使结果不同时,就存在竞态条件)。 线程安全性问题体现在三个方面:原子性, 可见性, 顺序性(后面细说)。
  • 活跃性问题:我们写多线程程序时,难免会使用锁,使用锁的初衷是为了解决线程安全问题, 但是如果使用不当,就会出现活跃性问题,比如死锁(如哲学家进餐问题等),饥饿(如设置线程优先级),活锁等。
  • 性能问题:在良好的并发程序中,线程可以提升程序的性能,但是当使用不恰当的同步策略时,会引起频繁的上下文切换,这将带来极大的开销,影响程序的性能。
  1. 线程的优势:
  • 充分利用处理器资源:现代的CPU通常会有多核,而一个线程执行的时候只能使用一核,因此会大大浪费现有的处理器资源,而多线程可以提高处理器的资源利用率。
  • 提高响应能力:为了避免I/O阻塞,可以使用多线程实现异步处理,减少响应时间,提高用户体验。

© 著作权归作者所有

C
粉丝 0
博文 1
码字总数 512
作品 0
虹口
程序员
私信 提问
Android--面试中遇到的问题总结(三)

《Android 开发工程师面试指南 LearningNotes 》,作者是陶程,由梁观全贡献部分。大家可以去知乎关注这两位用心的少年。这份指南包含了大部分Android开发的基础、进阶知识,不仅可以帮助准备...

sealin
2017/02/22
0
0
读书笔记之《Java并发编程的艺术》-并发编程容器和框架(重要)

读书笔记部分内容来源书出版书,版权归本书作者,如有错误,请指正。 欢迎star、fork,读书笔记系列会同步更新 git https://github.com/xuminwlt/j360-jdk module j360-jdk-thread/me.j360....

Hi徐敏
2015/11/11
0
1
读书笔记之《Java并发编程的艺术》-并发编程基础

读书笔记部分内容来源书出版书,版权归本书作者,如有错误,请指正。 欢迎star、fork,读书笔记系列会同步更新 git https://github.com/xuminwlt/j360-jdk module j360-jdk-thread/me.j360....

Hi徐敏
2015/11/11
0
8
读书笔记之《Java并发编程的艺术》-线程池和Executor的子孙们

读书笔记部分内容来源书出版书,版权归本书作者,如有错误,请指正。 欢迎star、fork,读书笔记系列会同步更新 git https://github.com/xuminwlt/j360-jdk module j360-jdk-thread/me.j360....

Hi徐敏
2015/11/11
0
1
读书笔记之《Java并发编程的艺术》-java中的锁

读书笔记部分内容来源书出版书,版权归本书作者,如有错误,请指正。 欢迎star、fork,读书笔记系列会同步更新 git https://github.com/xuminwlt/j360-jdk module j360-jdk-thread/me.j360....

Hi徐敏
2015/11/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用mybatis generator生成实体类、Mapper接口以及对应的XML文件

项目中通常会遇到数据的持久化,如果是采用mybatis的orm,就会涉及到生成xml的问题,刚好mybatis官网提供了这么个插件MyBatis Generator,效果简直是棒呆。 1. 首先需要在build.gradle文件中...

啊哈关关
今天
2
0
SpringSocial相关的知识点

使用SprigSocial开发第三方登录 核心类 ServiceProvider(AbstractOauth2ServiceProvider):主要负责实现server提供商(例如QQ,微信等共有的东西),默认实现类是AbstractOauth2ServiceProvider...

chendom
今天
1
0
Java并发之AQS详解

一、概述   谈到并发,不得不谈ReentrantLock;而谈到ReentrantLock,不得不谈AbstractQueuedSynchronizer(AQS)!   类如其名,抽象的队列式的同步器,AQS定义了一套多线程访问共享资源...

群星纪元
昨天
2
0
Fabric-sdk-java最新教程

Fabric Java SDK是Fabric区块链官方提供的用于Java应用开发的SDK,全称为Fabric-sdk-java,网上可用资料不多,本文列出了精心整理的针对Fabric Java SDK的最新精选教程。 如果希望快速掌握F...

汇智网教程
昨天
2
0
react 子组件监听props 变化

componentWillReceiveProps //已经被废弃 getDerivedStateFromProps// 推荐使用//如果条件不存在必须要返回null static getDerivedStateFromProps(props, current_stat...

一箭落旄头
昨天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部