结合 异常捕获体系的 线程基类封装 (三)

原创 2012年03月30日 14:32:50

//共享锁
#if defined(__WINDOWS__)
class MyLock
{
 CRITICAL_SECTION m_Lock ;
public :
 MyLock( ){ InitializeCriticalSection(&m_Lock); } ;
 ~MyLock( ){ DeleteCriticalSection(&m_Lock); } ;
 VOID Lock( ){ EnterCriticalSection(&m_Lock); } ;
 VOID Unlock( ){ LeaveCriticalSection(&m_Lock); } ;
};
#elif defined(__LINUX__)
class MyLock
{
 pthread_mutex_t  m_Mutex;
public :
 MyLock( ){ pthread_mutex_init( &m_Mutex , NULL );} ;
 ~MyLock( ){ pthread_mutex_destroy( &m_Mutex) ; } ;
 VOID Lock( ){ pthread_mutex_lock(&m_Mutex); } ;
 VOID Unlock( ){ pthread_mutex_unlock(&m_Mutex); } ;
};
#endif
//自动加锁解锁器
class AutoLock_T
{
public:
 AutoLock_T(MyLock& rLock)
 {
  m_pLock = &rLock;
  m_pLock->Lock();
 }
 ~AutoLock_T()
 {
  m_pLock->Unlock();
 }
protected:
private:
 AutoLock_T();
 MyLock* m_pLock;
};

 

 

 

 

 

 

 

 

 

 

java捕获线程异常

在jdk1.5之前,线程不允许抛出异常(各个线程要把自己的checked exception处理掉),但是无法避免的是uncheckedexception,也就是RuntimeException,当...
  • liuxiao723846
  • liuxiao723846
  • 2016年07月13日 23:50
  • 867

如何捕获子线程异常

一 直接在主线程捕获子线程异常(此方法不可取) using System; using System.Threading; namespace CatchThreadException { ...
  • tiana0
  • tiana0
  • 2015年06月20日 18:58
  • 5280

建议66:正确捕获多线程中的异常

建议66:正确捕获多线程中的异常 多线程的异常处理需要采用特殊的方式。一下这种方式会存在问题: try { ...
  • houwc
  • houwc
  • 2016年09月07日 10:50
  • 1793

java异常体系以及异常的捕获和处理和图解详解

java 异常是程序运行过程中出现的错误。Java把异常当作对象来处理,并定义一个基类java.lang.Throwable作为所有异常的超类。在Java API中定义了许多异常类,分为两大类,错误...
  • dianzijinglin
  • dianzijinglin
  • 2016年08月18日 15:55
  • 773

如何捕获java线程中的逃逸的异常

由于Java线程的本质特征,当抛出异常的时候就终止了如果再进行catch,都不在一个线程里面,所以无法捕捉到异常。Java线程中,要在run()方法中把一切的异常都处理掉,可以使用try-catch块...
  • u010853261
  • u010853261
  • 2017年03月11日 16:08
  • 1815

【Java 多线程】Java中主线程如何捕获子线程抛出的异常

首先明确线程代码的边界。其实很简单,Runnable接口的run方法所界定的边界就可以看作是线程代码的边界。Runnable接口中run方法原型如下: public v...
  • u013177446
  • u013177446
  • 2017年01月03日 15:41
  • 5129

Java线程未捕获异常处理

Java线程未捕获异常处理        线程执行完run方法即可正常退出,如果发生了没有捕获的异常则会异常退出。大多数情况下,由于异常导致的线程退出都不是我们想要的。所以在编写的代码的时候...
  • hongxingxiaonan
  • hongxingxiaonan
  • 2016年01月16日 13:14
  • 4499

线程池自定义扩展,捕获异常位置(非常有用)

一、前言 留给自己的前言:这个线程池在运用中非常有用,能够捕获异常是非常重要的,否则在此期间很难发现你的异常在哪里提交了; 二 自己定义扩展线程池 1、首先构建一个基础的 执行线程 packa...
  • yangchangyong0
  • yangchangyong0
  • 2016年01月13日 09:40
  • 402

主线程捕捉线程池中线程抛出的异常

package 线程池; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; im...
  • wym1581
  • wym1581
  • 2016年04月24日 08:50
  • 1579

Android捕获应用的异常信息-封装的很好的工具类

该异常捕获类包含了应用名,异常时间以及重要的异常信息,十分实用。 1.创建类CrashHandler.java package com.qhcloud.filetransfer.utils; i...
  • jdfkldjlkjdl
  • jdfkldjlkjdl
  • 2017年02月28日 23:21
  • 655
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:结合 异常捕获体系的 线程基类封装 (三)
举报原因:
原因补充:

(最多只允许输入30个字)