ObjFW
|
A class which provides portable threads. More...
#import <ObjFW/OFThread.h>
Instance Methods | |
(instancetype) | - 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 executed 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... | |
![]() | |
(instancetype) | - init |
Initializes an already allocated object. More... | |
(nullable OFMethodSignature *) | - methodSignatureForSelector: |
Returns the method signature for the specified selector. 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:withObject:withObject:withObject:afterDelay: |
Performs the specified selector with the specified objects after the specified delay. More... | |
(void) | - performSelector:withObject:withObject: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) | - performSelector:onThread:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified objects. More... | |
(void) | - performSelector:onThread:withObject:withObject: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) | - performSelectorOnMainThread:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified objects. More... | |
(void) | - performSelectorOnMainThread:withObject:withObject: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... | |
(void) | - performSelector:onThread:withObject:withObject:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified objects after the specified delay. More... | |
(void) | - performSelector:onThread:withObject:withObject: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... | |
![]() | |
(unsigned long) | - hash |
Returns a 32 bit hash for the object. More... | |
(unsigned int) | - retainCount |
Returns the retain count. More... | |
(bool) | - isProxy |
Returns whether the object is a proxy object. More... | |
(bool) | - allowsWeakReference |
Returns whether the object allows weak references. More... | |
(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 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... | |
(nullable id) | - performSelector:withObject:withObject:withObject: |
Performs the specified selector with the specified objects. More... | |
(nullable id) | - performSelector:withObject:withObject:withObject:withObject: |
Performs the specified selector with the specified objects. More... | |
(bool) | - isEqual: |
Checks two objects for equality. More... | |
(instancetype) | - retain |
Increases the retain count. More... | |
(void) | - release |
Decreases the retain count. More... | |
(instancetype) | - autorelease |
Adds the object to the topmost autorelease pool of the thread's autorelease pool stack. More... | |
(instancetype) | - self |
Returns the receiver. More... | |
(bool) | - retainWeakReference |
Retain a weak reference to this object. More... | |
Class Methods | |
(instancetype) | + thread |
Creates a new thread. More... | |
(instancetype) | + threadWithThreadBlock: |
Creates a new thread with the specified block. More... | |
(nullable OFThread *) | + currentThread |
Returns the current thread. More... | |
(nullable OFThread *) | + mainThread |
Returns the main thread. More... | |
(bool) | + isMainThread |
Returns whether the current thread is the main thread. More... | |
(nullable OFMutableDictionary *) | + threadDictionary |
Returns a dictionary to store thread-specific data, meaning it returns a different dictionary for every thread. More... | |
(OFDNSResolver *) | + DNSResolver |
Returns the DNS resolver for the current 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... | |
(void) | + setName: |
Sets the name of the current thread. More... | |
(nullable OFString *) | + name |
Returns the name of the current thread. More... | |
![]() | |
(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... | |
(instancetype) | + alloc |
Allocates memory for an instance of the class and sets up the memory pool for the object. More... | |
(instancetype) | + new |
Calls alloc on self and then init on the returned object. 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... | |
(nullable 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 OFMethodSignature *) | + instanceMethodSignatureForSelector: |
Returns the method signature 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... | |
(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... | |
Properties | |
OFString * | name |
The name for the thread to use when starting it. More... | |
of_thread_block_t | threadBlock |
The block to execute in the thread. | |
OFRunLoop * | runLoop |
The run loop for the thread. | |
float | priority |
The priority of the thread. More... | |
size_t | stackSize |
The stack size of the thread. More... | |
bool | supportsSockets |
Whether the thread supports sockets. More... | |
![]() | |
OFString * | className |
The name of the object's class. | |
OFString * | description |
A description for the object. More... | |
OFString * | stringBySerializing |
The object serialized as a string. | |
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.
+ (OFDNSResolver *) DNSResolver |
Returns the DNS resolver for the current thread.
- (void) handleTermination |
This routine is executed when the thread's main method has finished executing or terminate has been called.
- (instancetype) initWithThreadBlock: | (of_thread_block_t) | threadBlock |
Initializes an already allocated thread with the specified block.
threadBlock | A block which is executed by the thread |
+ (bool) isMainThread |
Returns whether the current thread is the main thread.
- (id) join |
Joins a thread.
- (id) main |
The main routine of the thread. You need to reimplement this!
+ (OFThread *) mainThread |
Returns the main thread.
+ (nullable OFString *) name |
Returns the name of the current thread.
+ (void) setName: | (nullable OFString *) | name |
Sets the name of the current thread.
Unlike the instance method, this can be used after the thread has been started.
name | The new name for the current 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 |
+ (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 |
|
readwriteatomic |
The name for the thread to use when starting it.
|
readwritenonatomicassign |
The priority of the thread.
This is a value between -1.0 (meaning lowest priority that still schedules) and +1.0 (meaning highest priority that still allows getting preempted) with normal priority being 0.0 (meaning being the same as the main thread).
|
readwritenonatomicassign |
The stack size of the thread.
|
readwritenonatomicassign |
Whether the thread supports sockets.
Some operating systems such as AmigaOS need special per-thread initialization of sockets. If you intend to use sockets in the thread, set this property to true before starting the thread.