多线程
lhxinbobo
无招胜有招
展开
-
线程同步synchronized用法
多个线程共享一个变量的时候,会出现线程安全的问题,这是大家都知道的问题,那么是为什么呢?每一个线程都有自己的工作空间,当创建一个线程的时候,系统会为这个线程分配相应的空间,共享的变量也会在这个空间里。然后每个线程在各自的空间执行,并修改共享的变量。当多个线程同时修改一个变量的时候,这时候就可能会出现数据不一致的问题。下面举例说明:public class Test { private原创 2018-01-21 23:12:07 · 506 阅读 · 0 评论 -
多个线程访问不同的synchronized方法
多个线程访问同一个synchronized方法,只有一个线程能够进入该方法。如果多个线程访问一个对象不同的synchronized方法呢?还是只有一个能进入吗?下面验证一下:package volatile1;import java.util.concurrent.CountDownLatch;/** * Created by sxb-gt on 2018/1/21. * “主原创 2018-01-24 22:42:53 · 574 阅读 · 0 评论 -
生产者消费者问题-java
生产者消费者问题是经常被提到的一个东西,其本质就是生产者和消费者之间有一个共享的缓冲区,生产者向缓冲区里面放东西,消费者从缓冲区里取东西。要保证以下几点:1.缓冲区满的时候,生产者不能继续往缓冲区中放入东西(生产者阻塞),并且需要通知消费者取东西(唤醒消费者)。2.缓冲区空的时候,消费者不能再从缓冲区取东西(消费者阻塞),并且需要通知生产者生产东西(唤醒生产者)。只要保证以上两点,就能原创 2018-01-19 23:52:07 · 212 阅读 · 0 评论