`
kanpiaoxue
  • 浏览: 1782052 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

java并发编程的一些零散经验

 
阅读更多

 

1、为你的线程池设定名称,方便后续定位问题。

import com.google.common.util.concurrent.ThreadFactoryBuilder;
 
final ThreadFactory threadFactory = new ThreadFactoryBuilder()
        .setNameFormat("Orders-%d")
        .setDaemon(false)
        .build();
final ExecutorService executorService = 
Executors.newFixedThreadPool(10, threadFactory);

 

 

2、在你使用线程的时候可以临时指定线程名称,使用完之后可以改回原有线程的名称。方便定位问题。

private void process(String messageId) {
    executorService.submit(() -> {
        final Thread currentThread = Thread.currentThread();
        final String oldName = currentThread.getName();
        currentThread.setName("Processing-" + messageId);
        try {
            //real logic here...
        } finally {
            currentThread.setName(oldName);
        }
    });
}

 

 

分享到:
评论

相关推荐

    Java入门到精通完整教程+源码.zip

    线程管理是并发编程的关键,而网络编程则让你能够创建可以与其他系统交互的应用。反射允许你在运行时检查和修改类的信息,这在插件系统和动态代理中非常有用。 此外,你还将学习Java的泛型,它提供了类型安全,减少...

    java8集合源码分析-Awesome-Java:真棒-Java

    Java并发编程相关的内容,并发包源码分析等 集合框架 Java集合框架,并发容器,同步容器等 IO框架 Java基础字节流 字符流 NIO等 Java8 Java8语言的行为参数化和流编程等 Java虚拟机 Java虚拟机相关,内存模型,类...

    java學習零散文檔

    通过阅读和理解这些零散的Java学习文档,初学者能够逐步掌握Java编程的基础知识,为进一步深入学习Java EE、Spring框架、数据库连接等高级主题打下坚实的基础。在实践中不断学习和实践,是提升Java编程技能的关键。

    97ThingsEveryJavaProgrammerShouldKnow.pdf

    - **Concurrency on the JVM**:这一部分讨论了在Java虚拟机上实现并发编程的方法和技巧。 - **CountDownLatch—Friend or Foe?**:探讨了CountDownLatch在并发编程中的使用情况,以及其潜在的风险。 - **...

    Linux多线程服务端编程:使用muduo C++网络库

    《Linux多线程服务端编程:使用muduo C++网络库》主要讲述采用现代C++在x86-64 Linux上编写多线程TCP网络服务程序的主流常规技术,重点讲解一种适应性较强的多线程服务器的编程模型,即one loop per thread。...

    Miscellaneous

    5. **多线程**:Java内置了对多线程的支持,包括Thread类、Runnable接口,以及并发工具类如synchronized关键字、Semaphore、CyclicBarrier等。 6. **网络编程**:Socket编程是Java中实现网络通信的基础,允许创建...

    Java面试题-Mysql高级面试题.docx

    ### Java面试题-Mysql高级面试题 #### 一、数据库范式及其重要性 数据库范式是关系型数据库设计中的一个重要概念,它旨在通过规范化数据结构来减少数据冗余和提高数据完整性。范式共有五级,分别是第一范式(1NF)、...

    trinea-code:一些分散的工程

    描述 "放一些零散的小工程" 提示我们这些代码可能是各种独立的功能模块或实验性的编程实践。 标签 "Java" 明确了这个压缩包的内容主要与Java编程语言相关。Java是一种广泛使用的面向对象的编程语言,具有平台无关性...

    JEE入门,JEE基础PPT

    JEE入门是Java企业版(Java Platform, Enterprise Edition)的基础学习资料,主要用于帮助开发者了解和掌握JEE技术体系的核心概念与基本原理。JEE,作为Java技术的一个版本,专为开发和部署企业级应用而设计,提供了...

    1Oracle历史介绍特点.pptx

    要学好Oracle,首先需要掌握一门编程语言,例如Java,这是进行数据库编程的基础。同时,了解其他数据库系统,如SQL Server,可以帮助你对比和理解不同数据库的特点和优势。Oracle SQL与其他SQL方言有所不同,深入...

    2010年计算机专业基础综合试题.pdf

    7. 编程语言和算法:文件中出现"CC++JAVA"、"for循环"、"function"等,指示了计算机编程语言的使用和基本算法结构。 8. 输入输出系统(I/O):通过提及"POP"(可能指的是中断类型),可以推断文件在讨论I/O系统的...

    分期记忆

    在IT行业中,分期记忆,或者称为分页内存管理,是一个重要的概念,特别是在操作系统和编程语言如Java中。分页是现代计算机系统中管理和优化内存分配的主要机制之一。它将主存划分为固定大小的块,通常称为“页”,并...

Global site tag (gtag.js) - Google Analytics