本人对多线程的认识是非常浅薄的,尤其是线程间的交互,都还没实践过的,但至少写过一些简单的多线程程序,还是能总结出一点经验出来。
1. 给线程设置一个能说明它工作内容的名字,这对调试和排错都非常有帮助。比如“send-sms-thread”比默认的“thead-1,thread-2”直观多了。
2. 线程的一定要catch所有的异常,如果不希望出现异常就终止线程,那就在循环体里catch异常。如果是碰到异常希望终止线程执行,那就在循环之外捕获异常,并记录异常信息,优雅的终止线程。
3. 日志里最好能把线程名称也记录上,不管是log4j里配置线程名称,或者程序里添加线程名称。
4. 循环体里处理异常,记录异常信息之后,需要sleep几秒钟。如果线程不断的抛异常,日志文件里会记录大量重复且无用的异常信息,除非你非常确信异常不会引起上述问题。
5. 终止线程应该控制运行标志变量,如running=false。而不是使用Thread里的终止线程方法。
6. 多使用java.util.concurrent里的类,该包里提供很多非常实用的类,且性能都非常好。如Executors、TimeUnit等
转载
http://www.8qiu.cn/2010/09/experience-summarization-of-multi-thtead-programe/
分享到:
相关推荐
### Java多线程编程经验 #### 一、Java线程:概念与原理 现代操作系统都是多任务操作系统,其中多线程是一种重要的实现多任务的方式。线程是进程内的一个执行单位,一个进程可以包含多个线程。例如,在Java应用...
总的来说,本多线程编程指南是一个关于在iOS和MacOSX平台上进行多线程编程的全面资源,无论你是初学者还是有经验的开发者,都能从中获得有价值的信息和指导。虽然现代的并发编程方法,如GCD和Operation Objects提供...
在VC++环境下进行多线程编程是提升程序性能、实现并行处理的关键技术之一。本文将深入探讨VC++中多...然而,多线程编程也带来了一定的复杂性和挑战,如线程安全、死锁等问题,需要开发者在实践中不断学习和积累经验。
### 高效Linux的多线程编程经验12条总结 #### 背景与目的 随着现代软件系统复杂度的提升以及多核处理器的普及,多线程编程已成为提高程序性能的重要手段之一。Linux作为一款广泛应用于服务器、超级计算机和个人...
"Delphi2010多线程编程教程" 多线程编程是Delphi开发中的一项重要技术,能够让程序更加高效、灵活和实时。Delphi2010多线程编程教程将从...本教程适合初学者和有经验的开发者,旨在帮助他们快速提高多线程编程的技能。
### VB.NET多线程编程技术解析 #### 一、引言 随着计算机技术的发展,多线程编程成为了提升软件性能的重要手段。对于VB.NET开发者而言,掌握多线程技术不仅能够显著提高应用程序的处理速度,还能增强用户体验。...
Java多线程编程深入详解 多线程编程是Java编程语言中的一种重要技术,用于提高程序的执行效率和响应速度。...通过本文,我们了解了多线程编程的基础知识和高级技术,掌握了多线程编程的要领和实践经验。
6. **多线程编程**:在VC++中创建和管理多线程,同步和互斥机制的应用。 7. **文件操作**:使用C++标准库或MFC进行文件的读写,以及高级文件操作如流式I/O。 8. **性能优化**:如何通过代码重构、算法改进和编译器...
《Java多线程编程实战指南(设计模式篇)》由黄文海撰写,是一本深入探讨Java多线程编程和设计模式的专业书籍。书中详细介绍了如何在Java环境中利用多线程来实现高效的并发处理,同时结合设计模式,帮助开发者更好地...
针对Linux平台的多线程编程,本文总结了以下五条高效开发经验: 1. 尽量设置recursive属性以初始化Linux的互斥变量:在使用互斥锁时,如果设置为递归属性(recursive),则可以允许同一线程多次加锁,避免了因同一...
首先,内核对象在多线程编程中扮演着至关重要的角色。内核对象是由操作系统内核管理的一类特殊数据结构,如信号量、互斥锁、事件和线程同步对象等。它们用于线程间的通信和同步,确保资源的安全访问和数据的一致性。...
总结来说,《C# 多线程编程指南》会详细讲解如何在C#中创建和管理线程,使用同步机制,优化并发性能,以及正确处理异常。无论你是初学者还是经验丰富的开发者,这本书都会帮助你深入理解并掌握C#的多线程编程技术,...
6. **多线程编程**:在多核CPU环境下,多线程编程能提升程序性能。理解线程同步原语,如临界区、事件、互斥量、信号量,以及使用CreateThread或_beginthreadex创建线程的方法,是实现并发程序的基础。 7. **资源...
标题《Java多线程编程深入详解》所涉及的知识点涵盖了Java多线程编程的核心思想、原理以及...作者通过自己的工作经验和学习总结,为读者提供了一个全面的多线程编程教程,并鼓励读者反馈,以便不断改进和完善书籍内容。
### Linux多线程编程知识点详解 #### 一、多线程基础 **1.1 定义多线程术语** 多线程编程是指在单个程序中创建多个线程,这些线程可以并发执行,共享相同的内存空间。线程是操作系统能够进行运算调度的最小单位,...
### .NET高级多线程编程知识点详解 #### 一、多任务与多线程概念解析 **1.1 多任务简介** - **定义**: 多任务是指操作系统能够在同一时间内处理多个程序的能力。 - **历史背景**: 在早期的计算环境中,操作系统一...
总结,C#的多线程编程涉及Thread类、委托、同步机制以及异步编程模型等多个方面。初学者可以通过DEMO中的"guiThreads"了解如何在GUI应用中正确管理和交互多线程,以及如何避免潜在的问题。随着经验的增长,深入学习...
《SUN多线程编程(Multithreaded Programming Guide)》不仅涵盖了多线程编程的基础理论,还包括了大量实践经验和技巧。虽然这是一份英文文档,但对于希望通过学习提高自己技术水平的人来说,仍然具有很高的价值。...