Fork me on GitHub

随笔分类 -  10多线程

摘要:首先看两段代码,一段是Integer的,一段是AtomicInteger的,为以下: 以下是AtomicInteger的: 以上两段代码,在使用Integer的时候,必须加上synchronized保证不会出现并发线程同时访问的情况,而在AtomicInteger中却不用加上synchronized 阅读全文
posted @ 2018-02-06 01:00 薄荷加冰2060 阅读(233) 评论(0) 推荐(0)
摘要:一,volatile关键字的可见性 要想理解volatile关键字,得先了解下JAVA的内存模型,Java内存模型的抽象示意图如下: 从图中可以看出: ①每个线程都有一个自己的本地内存空间--线程栈空间,线程执行时,先把变量从主内存读取到线程自己的本地内存空间,然后再对该变量进行操作 ②对该变量操作 阅读全文
posted @ 2018-01-08 11:28 薄荷加冰2060 阅读(172) 评论(0) 推荐(0)
摘要:wait和sleep区别共同点: 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。 2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状态 ,从而使线程立刻抛出InterruptedException。 如果线程A希望立即结束线程B, 阅读全文
posted @ 2017-11-21 18:44 薄荷加冰2060 阅读(13256) 评论(0) 推荐(0)
摘要:如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口的话,则很容易的实现资源共享。 如果一个类继承Thread,则不适合资源共享。但是如果实现了Runable接口的话,则很容易的实现资源共享。 实现Runnable接口比继承Thread类所具有的优势: 1):适合多个相同的 阅读全文
posted @ 2017-07-24 11:24 薄荷加冰2060 阅读(158) 评论(0) 推荐(0)