Back to Imagemagick

Magick++: Thread.h Source File

www/api/Magick++/Thread_8h_source.html

7.1.2-213.0 KB
Original Source

| Magick++ 7.1.0 |

Thread.h

Go to the documentation of this file.

1 // This may look like C code, but it is really -*- C++ -*-

2 //

3 // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2003

4 //

5 // Copyright @ 2014 ImageMagick Studio LLC, a non-profit organization

6 // dedicated to making software imaging solutions freely available.

7 //

8 // Definition of types and classes to support threads

9 //

10 // This class is a Magick++ implementation class and is not intended

11 // for use by end-users.

12 //

13 #if !defined (Magick_Thread_header)

14 #define Magick_Thread_header

15

16 #include "Magick++/Include.h"

17

18 #if defined(_VISUALC_)

19 #include <windows.h>

20 #endif // defined(_VISUALC_)

21

22 #if defined(MAGICKCORE_HAVE_PTHREAD)

23 # include <pthread.h>

24 #endif // defined(MAGICKCORE_HAVE_PTHREAD)

25

26 namespace Magick

27 {

28// Mutex lock wrapper

29class MagickPPExport MutexLock

30 {

31public:

32

33// Default constructor

34MutexLock(void);

35

36// Destructor

37 ~MutexLock(void);

38

39// Lock mutex

40void lock(void);

41

42// Unlock mutex

43void unlock(void);

44

45private:

46

47// Don't support copy constructor

48MutexLock(const MutexLock& original_);

49

50// Don't support assignment

51MutexLock& operator=(const MutexLock& original );

52

53 #if defined(MAGICKCORE_HAVE_PTHREAD)

54 pthread_mutex_t _mutex;

55 #endif

56 #if defined(_MT) && defined(_VISUALC_)

57 HANDLE _mutex;

58 #endif

59 };

60 }

61

62 #endif // Magick_Thread_header

Magick::MutexLock

Definition: Thread.h:29

MagickPPExport

#define MagickPPExport

Definition: Include.h:297

Include.h

Magick

Definition: Blob.h:17