java中线程锁的概念
Posted 贱贱的小帅哥
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中线程锁的概念相关的知识,希望对你有一定的参考价值。
java多线程:锁
java的多线程中的锁是干嘛的呢?在网上找了很多博客,大都是很专业的语言,让我一时间摸不着头脑。下面分三个部分来总结多线程中的锁的概念。
一,基础概念:
多线程在运行的时候可能会遇到这样的问题,多个线程要用到同一个资源,那么可能会出现错乱,比如线程要改动资源里的数据,那么多个线程同时改就乱了套了。就像公共厕所,必须要一个一个接着上,不能两个人或者多个人同时上。那么锁这个东西就是像厕所里的门,一个人在上厕所,锁上了们,那下一个人就不能进去了。同样的,如果我们想让某一个程序或者某一个变量只能同时被一个线程运行,就得给程序上锁。所以上了锁,就能保证线程有秩序的去运行了。
这里补充一个面试常问的问题:进程和线程的区别:进程是某一个具有独立功能的程序的运行活动,它可以申请系统资源,是一个活动的实体。二线程的范围要比进程小,一个进程可以拥有多个线程。我们把进程作为分配资源的基本单位,而把线程作为独立运行和独立调用的基本单位。
二,实现方式:
具体来说呢。首先Object对象,都有自己的一把锁,也就是说,你随便定义一个变量,这个变量就有一把锁,保证自己只能同时被一个线程使用。这是对象锁。如果我们想给一个函数上锁怎么办?函数定义加上关键字synchronized就可以了,
---------------------
作者:Dacc123
来源:CSDN
原文:https://blog.csdn.net/Dacc123/article/details/77386108
版权声明:本文为博主原创文章,转载请附上博文链接!
以上是关于java中线程锁的概念的主要内容,如果未能解决你的问题,请参考以下文章
AtomicInteger如何保证线程安全以及乐观锁/悲观锁的概念