ObjFW
|
A class which provides portable threads. More...
#import <ObjFW/OFThread.h>
Instance Methods | |
(id) | - initWithThreadBlock: |
Initializes an already allocated thread with the specified block. More... | |
(nullable id) | - main |
The main routine of the thread. You need to reimplement this! More... | |
(void) | - handleTermination |
This routine is exectued when the thread's main method has finished executing or terminate has been called. More... | |
(void) | - start |
Starts the thread. | |
(id) | - join |
Joins a thread. More... | |
(OFRunLoop *) | - runLoop |
Returns the run loop for the thread. More... | |
(nullable OFString *) | - name |
Returns the name of the thread or nil if none has been set. More... | |
(void) | - setName: |
Sets the name for the thread. More... | |
(float) | - priority |
Returns the priority of the thread. More... | |
(void) | - setPriority: |
Sets the priority of the thread. More... | |
(size_t) | - stackSize |
Returns the stack size of the thread. More... | |
(void) | - setStackSize: |
Sets the stack size of the thread. More... | |
Instance Methods inherited from OFObject | |
(id) | - init |
Initializes an already allocated object. More... | |
(OFString *) | - className |
Returns the name of the object's class. More... | |
(OFString *) | - description |
Returns a description for the object. More... | |
(void *) | - allocMemoryWithSize: |
Allocates memory and stores it in the object's memory pool. More... | |
(void *) | - allocMemoryWithSize:count: |
Allocates memory for the specified number of items and stores it in the object's memory pool. More... | |
(nullable void *) | - resizeMemory:size: |
Resizes memory in the object's memory pool to the specified size. More... | |
(nullable void *) | - resizeMemory:size:count: |
Resizes memory in the object's memory pool to the specific number of items of the specified size. More... | |
(void) | - freeMemory: |
Frees allocated memory and removes it from the object's memory pool. More... | |
(void) | - dealloc |
Deallocates the object. More... | |
(void) | - performSelector:afterDelay: |
Performs the specified selector after the specified delay. More... | |
(void) | - performSelector:withObject:afterDelay: |
Performs the specified selector with the specified object after the specified delay. More... | |
(void) | - performSelector:withObject:withObject:afterDelay: |
Performs the specified selector with the specified objects after the specified delay. More... | |
(void) | - performSelector:onThread:waitUntilDone: |
Performs the specified selector on the specified thread. More... | |
(void) | - performSelector:onThread:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified object. More... | |
(void) | - performSelector:onThread:withObject:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified objects. More... | |
(void) | - performSelectorOnMainThread:waitUntilDone: |
Performs the specified selector on the main thread. More... | |
(void) | - performSelectorOnMainThread:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified object. More... | |
(void) | - performSelectorOnMainThread:withObject:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified objects. More... | |
(void) | - performSelector:onThread:afterDelay: |
Performs the specified selector on the specified thread after the specified delay. More... | |
(void) | - performSelector:onThread:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified object after the specified delay. More... | |
(void) | - performSelector:onThread:withObject:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified objects after the specified delay. More... | |
(nullable id) | - forwardingTargetForSelector: |
This method is called when resolveClassMethod: or resolveInstanceMethod: returned false. It should return a target to which the message should be forwarded. More... | |
(void) | - doesNotRecognizeSelector: |
Handles messages which are not understood by the receiver. More... | |
(OFString *) | - stringBySerializing |
Creates a string by serializing the receiver. More... | |
Instance Methods inherited from <OFObject> | |
(bool) | - isKindOfClass: |
Returns a boolean whether the object of the specified kind. More... | |
(bool) | - isMemberOfClass: |
Returns a boolean whether the object is a member of the specified class. More... | |
(bool) | - respondsToSelector: |
Returns a boolean whether the object responds to the specified selector. More... | |
(nullable IMP) | - methodForSelector: |
Returns the implementation for the specified selector. More... | |
(nullable const char *) | - typeEncodingForSelector: |
Returns the type encoding for the specified selector. More... | |
(nullable id) | - performSelector: |
Performs the specified selector. More... | |
(nullable id) | - performSelector:withObject: |
Performs the specified selector with the specified object. More... | |
(nullable id) | - performSelector:withObject:withObject: |
Performs the specified selector with the specified objects. More... | |
(bool) | - isEqual: |
Checks two objects for equality. More... | |
(uint32_t) | - hash |
Calculates a hash for the object. More... | |
(id) | - retain |
Increases the retain count. More... | |
(unsigned int) | - retainCount |
Returns the retain count. More... | |
(void) | - release |
Decreases the retain count. More... | |
(id) | - autorelease |
Adds the object to the topmost OFAutoreleasePool of the thread's autorelease pool stack. More... | |
(id) | - self |
Returns the receiver. More... | |
(bool) | - isProxy |
Returns whether the object is a proxy object. More... | |
Class Methods | |
(instancetype) | + thread |
Creates a new thread. More... | |
(instancetype) | + threadWithThreadBlock: |
Creates a new thread with the specified block. More... | |
(OFThread *) | + currentThread |
Returns the current thread. More... | |
(OFThread *) | + mainThread |
Returns the main thread. More... | |
(OFMutableDictionary *) | + threadDictionary |
Returns a dictionary to store thread-specific data, meaning it returns a different dictionary for every thread. More... | |
(void) | + sleepForTimeInterval: |
Suspends execution of the current thread for the specified time interval. More... | |
(void) | + sleepUntilDate: |
Suspends execution of the current thread until the specified date. More... | |
(void) | + yield |
Yields a processor voluntarily and moves the thread to the end of the queue for its priority. | |
(void) | + terminate |
Terminates the current thread, letting it return nil. | |
(void) | + terminateWithObject: |
Terminates the current thread, letting it return the specified object. More... | |
Class Methods inherited from OFObject | |
(void) | + load |
A method which is called once when the class is loaded into the runtime. More... | |
(void) | + unload |
A method which is called when the class is unloaded from the runtime. More... | |
(void) | + initialize |
A method which is called the moment before the first call to the class is being made. More... | |
(id) | + alloc |
Allocates memory for an instance of the class and sets up the memory pool for the object. More... | |
(id) | + new |
Allocates memory for a new instance and calls init on it. More... | |
(Class) | + class |
Returns the class. More... | |
(OFString *) | + className |
Returns the name of the class as a string. More... | |
(bool) | + isSubclassOfClass: |
Returns a boolean whether the class is a subclass of the specified class. More... | |
(Class) | + superclass |
Returns the superclass of the class. More... | |
(bool) | + instancesRespondToSelector: |
Checks whether instances of the class respond to a given selector. More... | |
(bool) | + conformsToProtocol: |
Checks whether the class conforms to a given protocol. More... | |
(nullable IMP) | + instanceMethodForSelector: |
Returns the implementation of the instance method for the specified selector. More... | |
(nullable const char *) | + typeEncodingForInstanceSelector: |
Returns the type encoding of the instance method for the specified selector. More... | |
(OFString *) | + description |
Returns a description for the class, which is usually the class name. More... | |
(nullable IMP) | + replaceClassMethod:withMethodFromClass: |
Replaces a class method with a class method from another class. More... | |
(nullable IMP) | + replaceInstanceMethod:withMethodFromClass: |
Replaces an instance method with an instance method from another class. More... | |
(nullable IMP) | + replaceClassMethod:withImplementation:typeEncoding: |
Replaces or adds a class method. More... | |
(nullable IMP) | + replaceInstanceMethod:withImplementation:typeEncoding: |
Replaces or adds an instance method. More... | |
(void) | + inheritMethodsFromClass: |
Adds all methods from the specified class to the class that is the receiver. More... | |
(bool) | + resolveClassMethod: |
Try to resolve the specified class method. More... | |
(bool) | + resolveInstanceMethod: |
Try to resolve the specified instance method. More... | |
(id) | + copy |
Returns the class. More... | |
A class which provides portable threads.
To use it, you should create a new class derived from it and reimplement main.
+ (OFThread *) currentThread |
Returns the current thread.
- (void) handleTermination |
This routine is exectued when the thread's main method has finished executing or terminate has been called.
- (id) initWithThreadBlock: | (of_thread_block_t) | threadBlock |
Initializes an already allocated thread with the specified block.
threadBlock | A block which is executed by the thread |
- (id) join |
Joins a thread.
- (id) main |
The main routine of the thread. You need to reimplement this!
It can access the object passed to the threadWithObject or initWithObject method using the instance variable named object.
+ (OFThread *) mainThread |
Returns the main thread.
- (nullable OFString*) name |
Returns the name of the thread or nil if none has been set.
- (float) priority |
Returns the priority of the thread.
- (OFRunLoop *) runLoop |
Returns the run loop for the thread.
- (void) setName: | (nullable OFString *) | name |
Sets the name for the thread.
name | The name for the thread |
- (void) setPriority: | (float) | priority |
Sets the priority of the thread.
priority | The priority for the thread, with 0.0 being the lowest and 1.0 the highest |
- (void) setStackSize: | (size_t) | stackSize |
Sets the stack size of the thread.
stackSize | The stack size for the thread |
+ (void) sleepForTimeInterval: | (of_time_interval_t) | timeInterval |
Suspends execution of the current thread for the specified time interval.
timeInterval | The number of seconds to sleep |
+ (void) sleepUntilDate: | (OFDate*) | date |
Suspends execution of the current thread until the specified date.
date | The date to wait for |
- (size_t) stackSize |
Returns the stack size of the thread.
+ (void) terminateWithObject: | (nullable id) | object |
Terminates the current thread, letting it return the specified object.
object | The object which the terminated thread will return |
+ (instancetype) thread |
Creates a new thread.
+ (OFMutableDictionary *) threadDictionary |
Returns a dictionary to store thread-specific data, meaning it returns a different dictionary for every thread.
+ (instancetype) threadWithThreadBlock: | (of_thread_block_t) | threadBlock |
Creates a new thread with the specified block.
threadBlock | A block which is executed by the thread |