编程论坛
注册
登录
编程论坛
→
JAVA论坛
关于线程问题求大神解答
KQY
发布于 2019-07-14 00:50, 2810 次点击
线程同步,synchronized不知道怎么运用,还有就是单例设计模式。这两个看视频看半天不知道是什么意思。有大神能通过简单通俗的话语讲解一遍吗?
6 回复
#2
x6652880
2019-07-14 18:53
单例模式我懂 线程的我不是很明白 加我好友
扣: 七 酒 要 酒 要 时 器 八 药
#3
KQY
2019-07-17 08:34
回复 2楼 x6652880
要验证码
只有本站会员才能查看附件,请
登录
#4
林月儿
2019-07-18 11:16
。。。
#5
烟纱画梦
2019-09-09 00:27
线程就好像手机中的进程,它可以多个线程同时进行,而单列模式是表示世界上只能有一个太阳,一个月亮那样
#6
hhwz
2019-09-09 10:34
举个通俗点的例子:
你可以把线程当做一个银行的柜台。服务器本身就是一个银行点。只要你银行够大就能够开启多个柜台。
线程同步:假设A、B拥有一个相同的银行账号,A、B分别去银行取钱,A在1号柜台、B在2号柜台,A较于B先取钱,因为取钱的过程柜台人员操作需要时间,恰好在这个时间内B也取钱。这时候会通知B,该银行账号在锁定状态 必须等待A取钱后他才能再取。
synchronized:假设银行有10个柜台,有10个人同时到柜台办理业务。加上synchronized就表示,柜台能接收办理,但是业务员确只有一个,即使同时10个业务,1个业务员也只能一个一个的办理,按照先到先处理的方式,其他人必须等待前一个处理完成。
#7
GrayJerry
2019-09-26 11:20
/*
* synchronized:有2种用法
* 1. synchronized 直接修饰方法
* 2. synchronized 块
* synchronized 里面牵扯到锁,
* 类似酒店的房间(共享的资源),多个人(多个线程)办理入住,若住客A(线程A)办理了01房间,
* 这时会对01房间加把锁,除了住客A外,其他的住客(线程B、线程C...)都不能访问01房间;
* 只有等住客A退房了(解除了对资源的锁),其他住客才能办理入住01房间
*
* 个人理解,锁就是:针对共享资源的一个访问权限,保证了数据的正确性
* 线程A锁住了某个共享资源,则:只有线程A解除锁后,其他线程才可以访问该资源;否则:其他线程就阻塞等待
* 而,锁的目的是:为了保证数据的正确性
*
* synchronized方法或synchronized语句块,意味着:
* 线程A执行此方法时,将执行此方法的其他线程都进入:阻塞状态,直至:线程A执行完毕,释放锁
*
* 至于,多线程下的单例模式,里面用到了:double-check(双重检测)
* 是在保证数据正确的前提下,为了:提高程序的性能
*
*/
1