所谓死锁:
是指两个或两个以上的进程在执行过程中,因争夺资源而造成的一种互相等待的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
由于资源占用是互斥的,当某个进程提出申请资源后,使得有关进程在无外力协助下,永远分配不到必需的资源而无法继续运行,这就产生了一种特殊现象死锁。
线程的同步只对方法有效,如果一个线程正在调用该方法的时候,另一个线程也需要访问该方法,如果用了synchronized 的关键字的,后来的线程就必需等前面的线程执行方法完毕后才开始调用该方法,如果没有用synchronized 关键字,就有可能出现死锁状态。建议你去看看线程相关的知识。
引用“如果不想让其他线程对b进行 *** 作,要怎么写呢?” 如果不想让其他线程对b进行 *** 作,就不调用b就可以了
简单的说你和我都有一张破一百的人民币(就是缺一半),你想用的去补你的,我又想用你的补我的,这样我们两个就互相等待,我等待你把那一半给我,你等待我把我的一半给你,结果我们两个都在等待中
,
这就是死锁
以上就是关于Java 多线程中 什么是死锁有什么作用全部的内容,包括:Java 多线程中 什么是死锁有什么作用、java 死锁问题、java里,死锁是怎么发生的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)