`

线程所机制的说明

 
阅读更多

http://ifeve.com/java-7-concurrency-cookbook/

 

1 线程工厂类的使用

2 ThreadGroup来管理一组线程

 

3  中断的处理

调用 interrupt 来设置线程中断状态

isInterrupted 来查询调用者线程中断状态,是否中断,使用子方法不会清楚已经设置的中断状态

interrupted 静态方法,查询当前线程的中断状态,调用后会清楚已经设置的中断状态

线程中断后抛出异常,则会中断状态会被清楚,如果想保留中断的状态,需要在catch异常时候,使用interrupt再次更改状态

 

4 线程的wait 和notify (这两个必须使用在锁块中否则报错)

5 统一未捕获异常处理

 

6 synchronized 使用 

  1)锁一个对象的一个方法(对象的方法,静态方法锁)

  2)不同对象锁,锁不同的代码块(代码块锁)

 

 

7 Lock使用 ReadWriteLock lock = new ReentrantReadWriteLock( )公平锁和非公平锁 

  1)锁一个代码块,锁后一定要调用unlock否则会出现死锁。

  2)可以实现,读写 锁分离:多个线程可以同时读,一旦有读锁就不能获得写锁,获得写锁就不能获得读锁

 

8 线程中一些同步关键字:semaphore,CountDownLatch ,callable,CyclicBarrier,Phaser,Exchange

9 线程池 :固定大小的线程池、缓存线程池、单一线程池,ScheduledThreadPoolExecutor。

  线程可以提交后等待某个执行结果、等待所有的执行结果 、带有定时处理的线程池

  执行callable方法的任务可以使用Future取消 

10  ConcurrentLinkedDeque非阻塞队列 ,阻塞队列LinkedBlockingDeque,DelayedQueue,

11 原子变量 :AtomicLong ,避免指令重排导致的数据不一致行为。

12 Fork/Join框架使用。

13 自定义锁和自定义原子变量实现

 

 

分享到:
评论

相关推荐

    多线程通信和等待机制.docx

    需要说明的是,在执行notify()方法后,当前线程不会马上释放该对象锁,呈wait状态的线程也并不能马上获取该对象锁,到等到执行notify()方法的线程将程序执行完,也就是退出synchronized代码块后,当前线程才会释放锁...

    Java多线程机制(讲述java里面与多线程有关的函数)

    Java多线程机制是Java编程中至关重要的一部分,它允许程序同时执行多个任务,提升应用程序的效率和响应性。以下是对各个知识点的详细说明: 9.1 Java中的线程: Java程序中的线程是在操作系统级别的线程基础上进行...

    基于nachos的线程工作机制设计与实现课程设计说明书

    基于nachos的线程工作机制设计与实现课程设计说明书

    操作系统实习-第一部分线程机制实习说明宣贯.pdf

    操作系统实习的第一部分主要聚焦于线程机制,涵盖了锁与条件变量、线程调度、同步与互斥以及一系列挑战性练习。实习旨在通过修改Nachos操作系统平台的底层源代码,加深对操作系统原理的理解,并实际动手实现操作系统...

    delphi多线程机制剖析及其应用

    ### Delphi多线程机制剖析及其应用 #### 深入理解Delphi多线程机制 随着现代操作系统的持续演进,多线程技术已成为软件开发中不可或缺的一部分,尤其在提高程序性能和响应速度方面展现出巨大潜力。Delphi作为一种...

    从现实生活中理解android_线程消息机制

    本节通过一个具体的示例来进一步说明如何利用Android的线程消息机制实现特定的功能。假设我们要实现一个类似于iPhone上数字消除的按钮事件。 ##### 4.1 需求描述 当用户长按消除按钮时,界面上显示的数字会逐渐减少...

    析Java多线程机制.pdf

    "Java多线程机制详解" Java多线程机制是Java语言中的一种重要机制,能够提高程序的执行效率。本文将介绍Java语言中多线程的两种实现方式,并分别举例说明了各自的特点、格式以及运行结果。 第一种实现方式是实现...

    Java多线程机制研究.pdf

    Java多线程机制研究 Java多线程机制研究是Java编程语言的一项重要特点,允许在一个Java程序内部同时进行多种运算,从而充分利用系统资源,提高程序运行效率。本文将详细论述在Java程序中创建线程和实现线程体的机制...

    线程同步的三种方式 源码+说明

    在Windows系统中,有三种主要的线程同步机制:互斥量(Mutex)、事件对象(Event)和临界区(Critical Section)。以下是对这些机制的详细说明: 1. **互斥量(Mutex)** 互斥量是一种跨进程的线程同步工具,它...

    MFC多线程编程源代码和说明文档

    本资料包包含的是关于MFC实现多线程编程的源代码和相关说明文档,可以帮助开发者深入理解和应用这一技术。 在MFC中,多线程的创建主要通过`CWinThread`类进行。`CWinThread`是MFC中的一个核心类,它代表了一个线程...

    多线程gdb调试思路说明

    多线程GDB调试思路说明 多线程调试是软件开发中一个非常重要的技术,它可以帮助开发者更好地了解程序的执行过程, debug程序中的错误和问题。本文将结合实际经验总结多线程调试的思路,提供给使用GDB调试多线程的...

    python 多线程的同步机制 以python2例程的方式讲解了python 多线程的同步 常用的方法,主要是锁、条件同步、队列

    Python 多线程的同步机制 在Python编程中,多线程是实现并发处理的一种方式,特别是在处理大量数据或执行耗时操作时。然而,多线程环境下常常会出现数据共享的问题,这可能导致数据的不一致性和错误。为了解决这个...

    nachos-Lab1线程机制实习报告

    实习生可能会对课程设置提出一些建议,比如增加更多的指导资料、提供详细的实验环境搭建说明,或是增加与实际操作系统相关联的实验内容,以便更好地应用所学知识。 ### 参考文献 在报告的最后,通常会列出参考过的...

    易语言源码多线程类源码.rar

    易语言是一种专为中国人设计的编程语言,它以简明的中文语法,降低了编程的门槛,使得更多非专业背景的用户也能快速上手编程。...通过研究这些内容,可以深入理解易语言的线程机制,并掌握如何在实践中应用多线程技术。

    pb9多线程控件,能够真实实现多线程

    "而不是PB本身所实现的共享机制"指的是,PowerBuilder自身可能提供了一种线程共享数据的机制,但这种机制并不等同于真正的并发执行,可能在性能或复杂性上有所限制。 标签中的“Ttimer.ocx”可能是一个特定的...

    线程消息传送机制源码

    这说明Handler必须在有Looper的线程中使用,例如主线程或自定义的worker线程。 2. `Looper.loop()`是消息循环的入口,它会不断从消息队列中取出Message并分发。这个过程会一直持续,直到消息队列为空并且没有新的...

    多线程编程的各种适用环境说明

    然而,多线程也带来了额外的开销,如线程上下文切换和同步机制。在I/O密集型服务中,多进程模型可能更合适,因为进程间的通信通常比线程间通信效率更高。 总结来说,选择多线程还是多进程主要取决于服务的性质、...

    LabWindowCVI多线程技术中文说明

    ### LabWindowCVI多线程技术中文说明 #### 概述 随着计算机硬件技术的发展,多核处理器变得越来越普及,为了充分利用多核架构的优势,软件开发者需要掌握多线程编程技术。本文旨在介绍如何在LabWindows/CVI这一开发...

    C++ 多线程日志记录

    总的来说,实现C++多线程日志记录需要理解多线程编程、同步机制以及日志管理的原理。通过分析提供的源代码文件,我们可以学习到如何将这些理论知识应用到实际的开发中,从而提高程序的并发性能和日志处理能力。

Global site tag (gtag.js) - Google Analytics