Rogue Wave banner
Previous fileTop of DocumentContentsIndexNext file

RWThreadAttribute


RWThreadAttribute RWHandleBase

Data Type and Member Function Indexes
(exclusive of constructors and destructors)

Data Types

Member Functions

Package

Threading

Header File

#include <rw/thread/RWThreadAttribute.h> 

Description

Class RWThreadAttribute encapsulates a set of attributes that define or control thread scheduling and stack allocation. By supplying an instance of this class to a thread object such as an RWThread you can configure the behavior of each new thread that you create. You can also use an RWThreadAttribute to retrieve the default values for the current environment and query the current environment as to which attributes may be legally retrieved and set under the current circumstances. This class also provides functions for querying the minimum and maximum allowable values for the various attributes. Please see the Threads.h++ User's Guide and the Threads.h++ Platform User's Guide for a complete discussion of thread attributes.

Example

Global Enumerations

enum RWConcurrencyPolicy 
enum RWContentionScope 
enum RWInheritancePolicy 
enum RWSchedulingPolicy {
enum RWStartPolicy {

Global Typedefs

typedef int   RWPriority;     // OS/2, POSIX, Win32
typedef pri_t RWPriority;     // SOLARIS

Feature Test Macros

RW_THR_HAS_CONCURRENCY_SCOPE
RW_THR_HAS_CONTENTION_SCOPE
RW_THR_HAS_INHERITANCE_POLICY
RW_THR_HAS_PRIORITY
RW_THR_HAS_PROCESS_SCOPE_PRIORITY
RW_THR_HAS_SCHEDULING_POLICY
RW_THR_HAS_STACK_COMMIT_SIZE
RW_THR_HAS_STACK_RESERVE_SIZE
RW_THR_HAS_START_POLICY
RW_THR_HAS_SYSTEM_SCOPE_PRIORITY
RW_THR_HAS_TIME_SLICE_QUANTUM
RW_THR_HAS_USER_STACK
RW_THR_HAS_DUAL_PRIORITY
RW_THR_HAS_PARTIAL_STACK_COMMITMENT

Public Constructors

RWThreadAttribute(void);
RWThreadAttribute(RWStaticCtor);
RWThreadAttribute(const RWThreadAttribute& second)

Public Member Functions

void
copy(const RWThreadAttribute& second);
RWBoolean
isEqual(const RWThreadAttribute& second) const;

Public Member Functions
(by group)

The bulk of the public member functions for this class are divided into 6 groups:

canGet Functions

RWBoolean
canGetConcurrencyPolicy(void) const;

RWBoolean
canGetContentionScope(void) const;

RWBoolean
canGetInheritancePolicy(void) const;

RWBoolean
canGetPriority(void) const;

RWBoolean
canGetProcessScopePriority(void) const;

RWBoolean
canGetSchedulingPolicy(void) const;

RWBoolean
canGetStackCommitSize(void) const;

RWBoolean
canGetStackReserveSize(void) const;

RWBoolean
canGetStartPolicy(void) const;

RWBoolean
canGetSystemScopePriority(void) const;

RWBoolean
canGetTimeSliceQuantum(void) const;

RWBoolean
canGetUserStack(void) const;

canSet Functions

RWBoolean
canSetConcurrencyPolicy(RWConcurrencyPolicy policy) const;

RWBoolean
canSetContentionScope(RWContentionScope scope) const;

RWBoolean
canSetInheritancePolicy(RWInheritancePolicy policy) const;

RWBoolean
canSetPriority(void) const;

RWBoolean
canSetProcessScopePriority(void) const;

RWBoolean
canSetSchedulingPolicy(RWSchedulingPolicy policy) const;

RWBoolean
canSetStackCommitSize(void) const;

RWBoolean
canSetStackReserveSize(void) const;

RWBoolean
canSetStartPolicy(RWStartPolicy policy) const;

RWBoolean
canSetSystemScopePriority(void) const;

RWBoolean
canSetTimeSliceQuantum(void) const;

RWBoolean
canSetUserStack(void) const;

get Functions

RWConcurrencyPolicy
getConcurrencyPolicy(void) const;

RWContentionScope 
getContentionScope(void) const;

RWInheritancePolicy
getInheritancePolicy(void) const;

RWPriority
getPriority(void) const;

RWPriority
getProcessScopePriority(void) const;

RWSchedulingPolicy
getSchedulingPolicy(void) const;

size_t
getStackCommitSize(void) const;

size_t
getStackReserveSize(void) const;

RWStartPolicy
getStartPolicy(void) const;

RWPriority
getSystemScopePriority(void) const;

unsigned long
getTimeSliceQuantum(void) const;

void*
getUserStackAddress(void) const;

size_t
getUserStackSize(void) const;

getMax getMin Functions

RWPriority
getMaxPriority(void) const;

RWPriority
getMaxProcessScopePriority(void) const;

RWPriority
getMaxSystemScopePriority(void) const;

unsigned long
getMaxTimeSliceQuantum(void) const;

RWPriority
getMinPriority(void) const;

RWPriority
getMinProcessScopePriority(void) const;

static
size_t
getMinStackSize(void);

RWPriority
getMinSystemScopePriority(void) const;

unsigned long
getMinTimeSliceQuantum(void) const;

isXxxSet Functions

RWBoolean
isConcurrencyPolicySet(void) const;

RWBoolean
isContentionScopeSet(void) const;

RWBoolean
isInheritancePolicySet(void) const;

RWBoolean
isPrioritySet(void) const;

RWBoolean
isProcessScopePrioritySet(void) const;

RWBoolean
isSchedulingPolicySet(void) const;

RWBoolean
isStackCommitSizeSet(void) const;

RWBoolean
isStackReserveSizeSet(void) const;

RWBoolean
isStartPolicySet(void) const;

RWBoolean
isSystemScopePrioritySet(void) const;

RWBoolean
isTimeSliceQuantumSet(void) const;

RWBoolean
isUserStackSet(void) const;

reset Functions

void
resetConcurrencyPolicy(void);
void
resetContentionScope(void);
void
resetInheritancePolicy(void);
void
resetPriority(void);
void
resetProcessScopePriority(void);
void
resetSchedulingPolicy(void);
void
resetStackCommitSize(void);
void
resetStackReserveSize(void);
void
resetStartPolicy(void);
void
resetSystemScopePriority(void);
void
resetTimeSliceQuantum(void);
void
resetUserStack(void);

set Functions

void
setConcurrencyPolicy(RWConcurrencyPolicy policy);
void
setContentionScope(RWContentionScope scope);
void
setInheritancePolicy(RWInheritancePolicy policy);

void
setPriority(RWPriority priority);

void
setProcessScopePriority(RWPriority priority);
void
setSchedulingPolicy(RWSchedulingPolicy policy);

void
setStackCommitSize(size_t size);
void
setStackReserveSize(size_t size);
void
setStartPolicy(RWStartPolicy policy);
void
setSystemScopePriority(RWPriority priority);
void
setTimeSliceQuantum(unsigned long milliseconds);
void
setUserStack(void* address, size_t size);

See Also

RWThread, RWThreadSelf



Previous fileTop of DocumentContentsIndexNext file

©Copyright 2000, Rogue Wave Software, Inc.
Contact Rogue Wave about documentation or support issues.