小菜鸟对并发编程的理解
来源:互联网 发布:录音音乐合成软件 编辑:程序博客网 时间:2024/06/06 05:38
我是名大四学生,刚刚经历了魔鬼式的面试,总是有面试官很高傲问道K“了解并发编程吗?”。
我是学java后台编程的,就开始将多线程的知识搬了上来,但是都是知其然,不知其所以然。
我决定将死磕一下并发编程,对于这几天的学习进行以下总结:
并发编程,为什么要并发编程?其实是在提高资源的利用率而且让大家都有机会去共享资源,要不然不用时,资源放在那里也是白白浪费。
比如说人可以一边跑步,一边听歌,一边唱歌;而不是先去跑步,再去听歌,再去唱歌。
有人会问,并发编程这么爽,那没有缺点吗?
当然有,当并发编程共享资源时,会产生一些现象
1、多条线程在共享相同内存地址时,可能会修改并访问其他线程正在使用的变量。
就像一边跑步一边唱歌,都会用到气息,当唱歌与呼气同时进行一个特殊点时,可能就会气息紊乱。
2、当有不同线程竞争同一资源是,双方僵持导致程序无法进行
就像只有一座独木桥,甲乙两个人在桥的两侧,双方仇深似海,只能在两则进行僵持了,谁也不能过河
有了这样的缺点难道我们不用并发编程了吗?
当然不是,我会有一些方法解决这种问题
1、安全线程类并不会发生这种情况,但是什么事安全线程类
安全线程类就是在单线程环境或者并发环境下都不会被破坏的类
无状态的类一定是安全线程类。
2、synchronized加锁,确保线程有序运行避免死锁产生。(具体方法,我会以代码形式解释,在以后专门写一篇文章)
3、封装性越强,线程类越安全。
希望我的理解对您有所帮助
阅读全文
0 0
- 小菜鸟对并发编程的理解
- 理解高并发(2).我对并发编程的理解
- 对JAVA多线程 并发编程的理解
- 对JAVA多线程 并发编程的理解
- 一个小菜鸟对数据在内存中的二进制存储的理解
- 小菜鸟集各位高手指点及自学谈谈对WEB标准的理解
- 聊聊高并发(五)理解缓存一致性协议以及对并发编程的影响
- 谈谈我对Java并发的理解——读《Java并发编程实战有感》
- 对多线程编程和线程同步机制的小理解
- 菜鸟对git服务器创建的理解
- 菜鸟对使用AIDL的一点理解
- java菜鸟对构造函数的理解
- 作为菜鸟对反射的理解
- 磨刀不误砍柴工-----小菜鸟对代码的认识
- 一个刚接触几天驱动编程菜鸟对驱动的理解.
- JAVA并发编程的理解
- JAVA并发编程的理解
- 对并发编程的同步/异步,阻塞/非阻塞的理解
- 服务器中判断客户端socket断开连接的方法
- PHP使用Redis存储
- POJ1035-Spell checker(字符串,模拟)
- 大整数乘法
- Zookeeper学习笔记 --- Python操作zookeeper
- 小菜鸟对并发编程的理解
- 图形学(1)概论及一些基础知识
- iOS开发中时间戳和时间的相互转换
- commom fileupload结构
- JdKAPI掌握
- UVa156 map
- GDAL RasterIO使用说明
- 使用ASP.NET Core MVC 和 Entity Framework Core 开发一个CRUD(增删改查)的应用程序
- 最简单易理解的完善iscroll移动端无法上拉请求数据加载更新