随笔分类 - 多线程并发
发表于 2018-03-16 12:44阅读:278评论:0推荐:0
摘要:Java内存模型内存模型可以理解为在特定的操作协议下,对特定的内存或者高速缓存进行读写访问的过程抽象,不同架构下的物理机拥有不一样的内存模型,Java虚拟机也有自己的内存模型,即Java内存模型(Java Memory Model, JMM)。在C/C++语言中直接使...
阅读全文 »
发表于 2018-02-03 18:39阅读:527评论:0推荐:0
摘要:Syncronized解析 作用: (1)确保线程互斥的访问同步代码(2)保证共享变量的修改能够及时可见(3)有效解决重排序问题。 用法: (1)修饰普通方法(锁是当前实例对象)(2)修饰静态方法(锁是当前对象的Class对象)(3)修饰代码块(锁是Synchoniz...
阅读全文 »
发表于 2017-11-06 14:11阅读:139评论:0推荐:0
摘要:一、线程组1.Java中使用ThreadGroup来表示线程组,它可以对一批线程进行分类管理,Java允许程序直接对线程组进行控制。2.•默认情况下,所有的线程都属于主线程组。•public final ThreadGroup getThreadGroup()•我们也...
阅读全文 »
发表于 2017-11-03 09:27阅读:110评论:0推荐:0
摘要:一、同步方法即有synchronized关键字修饰的方法。 由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。注: synchronized关键字也可以修饰静态方法,此时如果调用该...
阅读全文 »
发表于 2017-11-02 23:05阅读:101评论:0推荐:0
摘要:一、线程的生命周期二、多线程的实现方案2/* * 方式2:实现Runnable接口 * 步骤: * A:自定义类MyRunnable实现Runnable接口 * B:重写run()方法 * C:创建MyRunnable类的对象 * D:创建Thread...
阅读全文 »
发表于 2017-11-01 22:59阅读:137评论:0推荐:0
摘要:一、线程调度假如我们的计算机只有一个CPU,那么CPU 在某一个时刻只能执行一条指令,线程只有得到CPU时间片,也就是使用权,才可以执行指令。那么Java是如何对线程进行调用的呢?线程有两种调度模型:•分时调度模型 所有线程轮流使用 CPU 的使用权,平均分配每个...
阅读全文 »
发表于 2017-10-31 21:43阅读:104评论:0推荐:0
摘要:一、我们如何实现多线程的程序? * 由于线程是依赖进程而存在的,所以我们应该先创建一个进程出来。 * 而进程是由系统创建的,所以我们应该去调用系统功能创建一个进程。 * Java是不能直接调用系统功能的,所以,我们没有办法直接实现多线程程序。 * 但是呢?Java可以...
阅读全文 »