![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
妹妹叫朕咕咕哒
这个作者很懒,什么都没留下…
展开
-
多线程(一)
基本概念 进程:有独立的内存空间,进程中的数据存放空间(堆空间和栈空间)是独立的,至少有一个线程。 线程:堆空间是共享的,栈空间是独立的,线程消耗的资源也比进程小,相互之间可以影响的,又称为轻型进程或进程元。 一.线程建立 import java.io.IOException; /** * @Auther: guguda * @Date: 2019/4/18 15:34 * @Descri...转载 2019-04-18 16:42:16 · 83 阅读 · 0 评论 -
锁
新建对象在堆内存中 对象头结构32位 无锁状态下(代码写了方法,还没有线程来访问) 获得偏向锁状态 分布式redis 锁的升级 轻量级锁,偏向锁,重量级锁 1.重量级锁:java6之前,synchronize提供了重量级锁 已有线程获得锁,其他线程park等待,挂起在唤醒,这样的话开销会很大。线程需要挂起并且添加到队列中—>重量级锁性能开销大 java6之后引入了轻量级锁,偏向锁,...原创 2019-04-27 21:47:37 · 118 阅读 · 0 评论 -
多线程(二)
案例:存在50个香蕉,现在有请三个童鞋(小A,小B,小C)上台表演吃苹果。因为A,B,C三个人可以同时吃香蕉,此时得使用多线程技术来实现这个案例。 分析: 可以定义三个线程对象,并启动线程.每一个同学吃香蕉的时候: 先展示自己拿到手上香蕉的编号,如1,2,3,… 再吃掉香蕉(意味着苹果的总数少一个) 方式1:可以使用继承Thread方式来实现 /** * @Auther: guguda ...转载 2019-04-19 10:38:18 · 94 阅读 · 0 评论