多线程基础小结
来源:互联网 发布:知画生孩子摔倒的视频 编辑:程序博客网 时间:2024/06/10 16:36
1 实现方式
线程的实现有2种方式:
继承Thread;
实现Runnable;(推荐使用)
2 实现Runnable好处
将线程的任务从线程的子类中分离出来,进行了单独的封装。按照面向对象的思想将任务封装成对象。
避免了Java单继承的局限性;
为后期的代码功能扩展性提供便利。
3 两种线程方式区别
继承Thread:线程代码存放Thread子类run方法中;
实现Runnable,线程代码存在接口的子类的run方法;
在多线程中,Thread为多个线程对象,而Runnable只有一个Runnable对象。
4 线程安全问题的产生原因
多线程在操作共同数据;
操作共享数据的代码有多条。
5 解决安全问题
1 思路
就是将多条操作共享数据的代码进行封装,当有线程执行这些代码的时候,其他的线程不可参与其中。
2 解决方案
使用synchronized关键字。
同步代码块:锁对象为Obj;建议使用。
非静态同步函数:this,当前类对象;
静态同步函数:XXX.class 该函数所属字节码文件对象,不可以用getClass()表示(非静态方法,不可用在静态方法中)。
6 同步的利弊
好处:解决了线程的安全问题;
弊端:占用CPU内存资源,多次判断锁,相对效率低,但在可接受范围之内;
7 同步的前提
必须有多线程同时使用一个公共资源。
0 0
- 多线程各种基础小结
- 多线程基础小结
- 多线程基础部分小结
- 多线程小结
- 小结多线程
- 多线程小结
- 多线程小结
- 多线程小结
- 基础 小结
- 多线程 C#解决方案小结
- 多线程编程小结
- 多线程编程小结
- 多线程 C#解决方案小结
- Linux多线程编程小结
- Swing与多线程-小结
- posix 多线程小结
- java多线程小结
- Java多线程(小结)
- 线性表的顺序存储结构(一)
- vtk实战(三十三)——写入vts数据
- HDOJ(HDU) 2083 简易版之最短距离(中位数)
- POJ 3087 Shuffle'm Up
- 【LeetCode】Reverse String 解题报告
- 多线程基础小结
- 基础卷_异常篇 第3集 对多异常的处理
- FOJ 1914 Funny Positive Sequence
- Atitit.预定义变量与变量预处理器
- 有趣的单机单节点现象
- java中的修饰符final和static
- Atitit.jpg png格式差别以及解决jpg图片不显示的问题
- Spring——AOP
- 图的表示