`

线程所机制的说明

 
阅读更多

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操作系统平台的底层源代码,加深对操作系统原理的理解,并实际动手实现操作系统...

    从现实生活中理解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)** 互斥量是一种跨进程的线程同步工具,它...

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

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

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

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

    多线程gdb调试思路说明

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

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

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

    nachos-Lab1线程机制实习报告

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

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

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

    线程消息传送机制源码

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

    LabWindowCVI多线程技术中文说明

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

    线程同步的入门级说明线程同步的入门级说明线程同步的入门级说明

    1. **Mutex 类(互斥器)**:提供了一种机制,使得一次只有一个线程可以访问特定资源或执行一段代码。通过实例化Mutex对象,并在需要保护的代码段前后调用`Mutex.WaitOne()`和`Mutex.ReleaseMutex()`方法来实现同步...

    C++ 多线程日志记录

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

    两个线程交替执行

    Java 中提供了多种线程同步机制,包括 synchronized 关键字、Lock 接口、semaphore 等。 在上述代码中,我们可以看到两个线程 a 和 b,它们之间通过一个锁对象 LOCK 进行同步。线程 a 负责打印数字 1、2、3,而线程...

Global site tag (gtag.js) - Google Analytics