黑马程序员--线程二(安全性)
来源:互联网 发布:用excel预测数据 编辑:程序博客网 时间:2024/06/07 22:01
多线程最怕的就是安全问题
原因:当多条语句在操作同一个线程共享数据时,一个线程对多条语句只执行了一部分,还没有执行完,另一个线程参与进来,导致共享数据错误。
解决办法:对多条操作共享数据的语句,只能让一个执行。
多线程如何找问题:
1、明确哪些代码是多线程运行代码
2、明确共享数据
3、明确多线程运行代码中哪些语句是操作共享数据的
如果同步函数被静态修饰后,使用什么锁?
通过验证,发现不再是this,静态方法中不可以定义this。静态进内存时,内存中没有本类对象,但一定有该类对应的字节码对象。
类名.class。该类的类型是class。
静态的同步方法,使用的锁是该方法所在类的字节码对象:类.class。
死锁:同步中嵌套同步,所用的锁不一样导致死锁。
线程间通讯:其实就是多个线程在操作同一个资源,但操作动作不同。
停止线程:stop方法过是,那么如何停止线程?等Run方法线束。开启多线程运行,运行代码通常是循环结构。只要控制住循环,就可以让线程线束。也就是Run方法
特殊情况:
线程处以冻结状态,就不会读到标记,那么线程就不会结束。
当没有指定的方式让冻结的线程恢复到运行状态时,这时需要对冻结进行清除。
强制让线程恢复到运行状态中来这样就可以操作标记,记线程结束。
thread线程提供了interrupt();
join:join可以用来临时加入线程执行。
例:A线程执行到了B线程的join方法时,A就会等待,等B线程执行完。A才会执行。
0 0
- 黑马程序员--线程二(安全性)
- 黑马程序员 线程分析(二)
- 黑马程序员--java线程总结(二)
- 黑马程序员之多线程二
- 黑马程序员——线程Thread二(线程安全)
- 黑马程序员-Java 多线程(一)-线程的创建、状态、安全性
- 黑马程序员_java基础二(线程和集合)
- 黑马程序员——线程的总结(二)
- 黑马程序员-多线程部分(二.线程同步)
- 黑马程序员 关于线程的了解二
- 黑马程序员日记二线程 synchronized
- 黑马程序员——java基础拾遗之多线程(二) 线程同步、线程通信
- 黑马程序员(二)
- 黑马程序员 线程(1)
- 黑马程序员 线程(2)
- 黑马程序员 线程(3)
- 黑马程序员-------线程(中)
- 黑马程序员-------线程(下)
- 2014年UC客户端方向笔试问答题及详细解答(一)
- Android基础--Shape渲染的使用
- 程序的机器级别代码
- android NDK 环境配置两种方式
- 黑马程序员___关于多态
- 黑马程序员--线程二(安全性)
- 汉字拼音数据库_WinDev
- Android最新的开发环境的搭建
- UNIX环境高级编程(APUE) 总结
- 通过helloworld来认识下backbone
- 经典Dp题目
- uva--10161--Ant on a Chessboard
- 错误票据
- backbone中的model实例