博客专栏  >  编程语言   >  多线程基础

多线程基础

此专栏描述了Java多线程的一些模型以及基础知识

关注
11 已关注
16篇博文
  • Java线程和多线程(十五)——线程的活性

    当开发者在应用中使用了并发来提升性能的同时,开发者也需要注意线程之间有可能会相互阻塞。当整个应用执行的速度比预期要慢的时候,也就是应用没有按照预期的执行时间执行完毕。在本章中,我们来需要仔细分析可能会...

    2017-02-17 13:22
    3591
  • 公平锁与非公平锁

    在ReentrantLock中很明显可以看到其中同步包括两种,分别是公平的FairSync和非公平的NonfairSync。公平锁的作用就是严格按照线程启动的顺序来执行的,不允许其他线程插队执行的;而...

    2017-02-17 13:32
    6385
  • Java线程和多线程(十四)——Synchronized关键字解析

    曾经有一个比较有趣的面试问题,那就是,关于使用synchronized关键字,是用在方法上面尾号,还是用在一个代码块上面为好?答案就是使用锁定代码块为更好。因为这样不会锁定对象。当synchroniz...

    2016-11-27 23:29
    1648
  • Java线程和多线程(一)——线程的基本概念

    Java 线程是一个轻量级执行任务的处理单元。Java提供了Thread类来支持多线程,开发者在应用中可以创建多个线程来支持并发执行任务。在应用中存在两种类型的线程,用户线程和守护线程。当我们启动应用...

    2016-06-21 10:27
    1945
  • Java线程和多线程(二)——对象中的wait,notify以及notifyAll方法

    在Java的Object类中包含了3个final的方法,这三个方法允许线程来交流资源是否被锁定。这三个方法就是wait(),notify()以及notifyAll().在对象上调用这三个方法的线程需要...

    2016-07-15 13:07
    1351
  • Java线程和多线程(三)——线程安全和同步

    线程安全在Java中是一个很重要的课题。Java提供的多线程环境支持使用Java线程。我们都知道多线程共享一些对象实例的话,可能会在读取和更新共享数据的事后产生数据不一致问题。线程安全之所以会产生数据...

    2016-08-01 18:04
    1654
  • Java线程和多线程(四)——主线程中的异常

    作为Java的开发者,在运行程序的事后会碰到主线程抛异常的情况。如果开发者使用Java的IDE比如Eclipse或者Intellij IDEA的话,可能是不需要直接面对这个问提的,因为IDE会处理运行...

    2016-08-16 11:01
    2612
  • Java线程和多线程(五)——单例类中的线程安全

    单例模式是最广泛使用的创建模式之一。在现实世界之中,诸如Databae的连接或者是企业信息系统(EIS)等,通常其创建都是受到限制的,应该尽量复用已存在对象而不是频繁创建销毁。为了达到这个目的,开发者...

    2016-09-17 15:05
    1364
  • Java线程和多线程(六)——守护线程

    当我们在Java中创建线程的时候,这个线程在默认的情况下是一个用户线程,并且,如果这个线程在运行,那么JVM就不会终结这个应用。和用户线程不同,当一个线程被标记为守护线程的时候,JVM在用户线程结束的...

    2016-09-20 13:11
    2678
  • Java线程和多线程(七)——ThreadLocal

    Java中的ThreadLocal是用来创建线程本地变量用的。我们都知道,访问某个对象的所有线程都是能够共享对象的状态的,所以这个对象状态就不是线程安全的。开发者可以通过使用同步来保证线程安全,但是如...

    2016-09-24 18:16
    2040
  • Java线程和多线程(八)——Thread Dump

    Java的Thread Dump就是列出JVM中所有激活状态的线程。Java Thread DumpJava Thread Dump在分析应用性能瓶颈和死锁的时候,是非常有效的。下面将介绍多种不同的方...

    2016-09-27 22:54
    5518
  • Java线程和多线程(九)——死锁

    Java中的死锁指的就是一种多于两个线程永远阻塞的特殊状况。Java中的死锁状态至少需要多于两个线程以及资源的时候才会产生。这里,我写了一个产生死锁的程序,并且讲下如何分析死锁。首先来看一下产生死锁的...

    2016-10-13 20:45
    1864
  • Java线程和多线程(十)——TimerTask

    Java中的java.util.Timer是一个工具类,可以用于调度一个线程在将来的某一个时刻执行特定的任务。Java Timer类可以将一个任务定时执行一次,或者是以后以每隔一定的时间间隔来触发一次...

    2016-10-15 19:12
    6165
  • Java线程和多线程(十一)——BlockingQueue

    这次讨论的是Java的BlockingQueue,java.util.concurrent.BlockingQueue是一个Java的队列接口,支持一系列操作,比如,在获取和移除对象的时候如果队列为空...

    2016-10-22 18:51
    2925
  • Java线程和多线程(十二)——线程池基础

    Java 线程池管理多个工作线程,其中包含了一个队列,包含着所有等待被执行的任务。开发者可以通过使用ThreadPoolExecutor来在Java中创建线程池。 线程池是Java中多线程的一个重...

    2016-10-30 11:12
    9511
  • Java线程和多线程(十三)——Callable,Future,FutureTask

    在Java多线程之中,Callable和Future的使用时非常广泛的。在之前的文章中,我们了解了关于Java线程池基础的一些内容,知道如何提交Runnable的任务。但是,Runnable的任务是无...

    2016-11-02 10:49
    5694

Java之GC
35212
Spring ORM
311570
云设计模式
1664653
Spring AOP
119220
Spring核心技术
1579827

img博客搬家
img撰写博客
img专家申请
img意见反馈
img返回顶部