![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
【编程思想】Java多线程
Java多线程相关
f4j7
fighting!
展开
-
从多线程谈到并发问题
我们应对高并发问题,除了想到多线程之外,还应该想到多进程(负载均衡),其实都是用空间来换取时间。需要应对的主要问题都是数据同步问题。 做负载均衡重要的是内存数据的一致性。缓存往往会造成数据不同步。其实缓存就可以理解成共享资源。于是引入了缓存技术(redis) 多线程时,需要锁机制,来帮助我们处理共享资源的问题。 所以,我们处理高并发问题,重要的是处理好共享资源的问题。 所以【并发问题】是一个比较高的维度需要探讨的问题。 除此之外,还有一个比较高维度的问题就是【通信问题】我们通过消息机制(常用的消息原创 2020-10-30 10:32:00 · 96 阅读 · 0 评论 -
线程锁与对比现实
什么叫线程锁: 锁:顾名思义,就是锁住。 比如:10个人去同一个电话亭, 第一个人进去->关上门->打电话->开门出来 第二个人进去->关上门->打电话->开门出来 所以,这个告诉我们只有存在资源共享的时候,才会需要锁。如果有10个电话亭就不需要这么麻烦了。 既然要锁住,不是还只能一个个打电话吗?那么多线程的意义在哪里呢?对的,如果所有环节都需要锁住,那么多线程自然是没有意义的了,但是,如果只有某个环节被锁住,多线程还是有意义的。比如:进入电话亭前,需要换硬币原创 2020-10-29 21:13:53 · 69 阅读 · 0 评论 -
用多线程计数
我们平时接触的好很多程序都是单线程的,其实,字面含义,多线程就是多个线程并行工作,互不影响。个人已经想到的多线程的应用场景至少有这些: 1.独立型的 2.合作型的 独立型的,比如说,你可能会先把米下锅,然后去炒菜。而不必要等到饭煮好了,再去炒菜。 合作型的一般会有一个共享资源,比如,A和B打算做同一班列车,A和B是可以同时买票的,没有必要等A买完了,B再去买。我们可以把车站的每一个窗口看作一个线程。但是如果A,B买的是同一类型的车票的话,就需要注意车票快卖完了的这种情况。比如说:现在车站还剩一张车票,此时原创 2020-08-24 23:18:07 · 571 阅读 · 0 评论