标题:关于线程问题求大神解答
只看楼主
KQY
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-7-9
结帖率:66.67%
 问题点数:0 回复次数:6 
关于线程问题求大神解答
线程同步,synchronized不知道怎么运用,还有就是单例设计模式。这两个看视频看半天不知道是什么意思。有大神能通过简单通俗的话语讲解一遍吗?
搜索更多相关主题的帖子: 线程 单例 设计模式 视频 讲解 
2019-07-14 00:50
x6652880
Rank: 2
等 级:新手上路
威 望:3
帖 子:2
专家分:0
注 册:2019-7-11
得分:0 
单例模式我懂 线程的我不是很明白 加我好友
扣: 七  酒 要 酒 要 时 器 八 药
2019-07-14 18:53
KQY
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2019-7-9
得分:0 
回复 2楼 x6652880
要验证码
2019-07-17 08:34
林月儿
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:湖南
等 级:版主
威 望:138
帖 子:2276
专家分:10647
注 册:2015-3-19
得分:0 
。。。

剑栈风樯各苦辛,别时冰雪到时春
2019-07-18 11:16
烟纱画梦
Rank: 1
等 级:新手上路
威 望:1
帖 子:2
专家分:0
注 册:2019-9-9
得分:0 
线程就好像手机中的进程,它可以多个线程同时进行,而单列模式是表示世界上只能有一个太阳,一个月亮那样
2019-09-09 00:27
hhwz
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:87
帖 子:687
专家分:4502
注 册:2011-5-22
得分:0 
举个通俗点的例子:
你可以把线程当做一个银行的柜台。服务器本身就是一个银行点。只要你银行够大就能够开启多个柜台。

线程同步:假设A、B拥有一个相同的银行账号,A、B分别去银行取钱,A在1号柜台、B在2号柜台,A较于B先取钱,因为取钱的过程柜台人员操作需要时间,恰好在这个时间内B也取钱。这时候会通知B,该银行账号在锁定状态 必须等待A取钱后他才能再取。

synchronized:假设银行有10个柜台,有10个人同时到柜台办理业务。加上synchronized就表示,柜台能接收办理,但是业务员确只有一个,即使同时10个业务,1个业务员也只能一个一个的办理,按照先到先处理的方式,其他人必须等待前一个处理完成。
2019-09-09 10:34
GrayJerry
Rank: 5Rank: 5
等 级:贵宾
威 望:14
帖 子:75
专家分:310
注 册:2015-10-20
得分:0 
        /*
         * 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(双重检测)
         * 是在保证数据正确的前提下,为了:提高程序的性能
         *
         */
2019-09-26 11:20



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-495840-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.274086 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved