美文网首页
java 并发编程相关知识点(一)

java 并发编程相关知识点(一)

作者: 木石前盟_429a | 来源:发表于2020-05-04 12:46 被阅读0次

共享资源

        什么是共享资源?共享资源指的是多个线程同时对同一份资源进行访问(读写操作),被多个线程访问的资源就称为共享资源,如何保证多个线程访问到的数据是一致的,则被称为数据同步或者资源同步。



synchronized关键字提供了一种锁的机制,能够确保共享变量的互斥访问,从而防止数据不一致问题的出现。

synchronized可以用于对代码块或方法进行修饰,而不能够用于对class以及变量进行修饰。


死锁产生的原因

交叉锁可导致程序出现死锁

内存不足

一对一的数据交换

数据库的锁

文件的锁

死循环引起的锁


wait和sleep的区别:

·wait和sleep方法都可以使线程进入阻塞状态。

·wait和sleep方法均是可中断方法,被中断后都会收到中断异常。

·wait是Object的方法,而sleep是Thread特有的方法。

·wait方法的执行必须在同步方法中进行,而sleep则不需要。

·线程在同步方法中执行sleep方法时,并不会释放monitor的锁,而wait方法则会释放monitor的锁。

·sleep方法短暂休眠之后会主动退出阻塞,而wait方法(没有指定wait时间)则需要被其他线程中断后才能退出阻塞。

相关文章

网友评论

      本文标题:java 并发编程相关知识点(一)

      本文链接:https://www.haomeiwen.com/subject/rdgzdqtx.html