|
ObjFW
|
A class which provides portable threads. More...
#import <ObjFW/OFThread.h>
Instance Methods | |
| (instancetype) | - initWithBlock: |
| Initializes an already allocated thread with the specified block. | |
| (nullable id) | - main |
| The main routine of the thread. You need to reimplement this! | |
| (void) | - handleTermination |
| This routine is executed when the thread's main method has finished executing or terminate has been called. | |
| (void) | - start |
| Starts the thread. | |
| (id) | - join |
| Joins a thread. | |
Instance Methods inherited from OFObject | |
| (instancetype) | - init |
| Initializes an already allocated object. | |
| (nullable OFMethodSignature *) | - methodSignatureForSelector: |
| Returns the method signature for the specified selector. | |
| (void) | - dealloc |
| Deallocates the object. | |
| (void) | - performSelector:afterDelay: |
| Performs the specified selector after the specified delay. | |
| (void) | - performSelector:withObject:afterDelay: |
| Performs the specified selector with the specified object after the specified delay. | |
| (void) | - performSelector:withObject:withObject:afterDelay: |
| Performs the specified selector with the specified objects after the specified delay. | |
| (void) | - performSelector:withObject:withObject:withObject:afterDelay: |
| Performs the specified selector with the specified objects after the specified delay. | |
| (void) | - performSelector:withObject:withObject:withObject:withObject:afterDelay: |
| Performs the specified selector with the specified objects after the specified delay. | |
| (void) | - performSelector:onThread:waitUntilDone: |
| Performs the specified selector on the specified thread. | |
| (void) | - performSelector:onThread:withObject:waitUntilDone: |
| Performs the specified selector on the specified thread with the specified object. | |
| (void) | - performSelector:onThread:withObject:withObject:waitUntilDone: |
| Performs the specified selector on the specified thread with the specified objects. | |
| (void) | - performSelector:onThread:withObject:withObject:withObject:waitUntilDone: |
| Performs the specified selector on the specified thread with the specified objects. | |
| (void) | - performSelector:onThread:withObject:withObject:withObject:withObject:waitUntilDone: |
| Performs the specified selector on the specified thread with the specified objects. | |
| (void) | - performSelectorOnMainThread:waitUntilDone: |
| Performs the specified selector on the main thread. | |
| (void) | - performSelectorOnMainThread:withObject:waitUntilDone: |
| Performs the specified selector on the main thread with the specified object. | |
| (void) | - performSelectorOnMainThread:withObject:withObject:waitUntilDone: |
| Performs the specified selector on the main thread with the specified objects. | |
| (void) | - performSelectorOnMainThread:withObject:withObject:withObject:waitUntilDone: |
| Performs the specified selector on the main thread with the specified objects. | |
| (void) | - performSelectorOnMainThread:withObject:withObject:withObject:withObject:waitUntilDone: |
| Performs the specified selector on the main thread with the specified objects. | |
| (void) | - performSelector:onThread:afterDelay: |
| Performs the specified selector on the specified thread after the specified delay. | |
| (void) | - performSelector:onThread:withObject:afterDelay: |
| Performs the specified selector on the specified thread with the specified object after the specified delay. | |
| (void) | - performSelector:onThread:withObject:withObject:afterDelay: |
| Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
| (void) | - performSelector:onThread:withObject:withObject:withObject:afterDelay: |
| Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
| (void) | - performSelector:onThread:withObject:withObject:withObject:withObject:afterDelay: |
| Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
| (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. | |
| (void) | - doesNotRecognizeSelector: |
| Handles messages which are not understood by the receiver. | |
Instance Methods inherited from <OFObject> | |
| (Class) | - class |
| Returns the class of the object. | |
| (nullable Class) | - superclass |
| Returns the superclass of the object. | |
| (unsigned long) | - hash |
| Returns a hash for the object. | |
| (unsigned int) | - retainCount |
| Returns the retain count. | |
| (bool) | - isProxy |
| Returns whether the object is a proxy object. | |
| (bool) | - isKindOfClass: |
| Returns a boolean whether the object is of the specified kind. | |
| (bool) | - isMemberOfClass: |
| Returns a boolean whether the object is a member of the specified class. | |
| (bool) | - respondsToSelector: |
| Returns a boolean whether the object responds to the specified selector. | |
| (bool) | - conformsToProtocol: |
| Checks whether the object conforms to the specified protocol. | |
| (nullable IMP) | - methodForSelector: |
| Returns the implementation for the specified selector. | |
| (nullable id) | - performSelector: |
| Performs the specified selector. | |
| (nullable id) | - performSelector:withObject: |
| Performs the specified selector with the specified object. | |
| (nullable id) | - performSelector:withObject:withObject: |
| Performs the specified selector with the specified objects. | |
| (nullable id) | - performSelector:withObject:withObject:withObject: |
| Performs the specified selector with the specified objects. | |
| (nullable id) | - performSelector:withObject:withObject:withObject:withObject: |
| Performs the specified selector with the specified objects. | |
| (bool) | - isEqual: |
| Checks two objects for equality. | |
| (instancetype) | - retain |
| Increases the retain count. | |
| (void) | - release |
| Decreases the retain count. | |
| (instancetype) | - autorelease |
| Adds the object to the topmost autorelease pool of the thread's autorelease pool stack. | |
| (instancetype) | - self |
| Returns the receiver. | |
| (bool) | - allowsWeakReference |
| Returns whether the object allows a weak reference. | |
| (bool) | - retainWeakReference |
| Retain a weak reference to this object. | |
Class Methods | |
| (instancetype) | + thread |
| Creates a new thread. | |
| (instancetype) | + threadWithBlock: |
| Creates a new thread with the specified block. | |
| (nullable OFThread *) | + currentThread |
| Returns the current thread. | |
| (nullable OFThread *) | + mainThread |
| Returns the main thread. | |
| (bool) | + isMainThread |
| Returns whether the current thread is the main thread. | |
| (nullable OFMutableDictionary *) | + threadDictionary |
| Returns a dictionary to store thread-specific data, meaning it returns a different dictionary for every thread. | |
| (nullable OFDNSResolver *) | + DNSResolver |
| Returns the DNS resolver for the current thread. | |
| (void) | + sleepForTimeInterval: |
| Suspends execution of the current thread for the specified time interval. | |
| (void) | + sleepUntilDate: |
| Suspends execution of the current thread until the specified date. | |
| (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. | |
| (void) | + setName: |
| Sets the name of the current thread. | |
| (nullable OFString *) | + name |
| Returns the name of the current thread. | |
Class Methods inherited from OFObject | |
| (void) | + load |
| A method which is called once when the class is loaded into the runtime. | |
| (void) | + unload |
| A method which is called when the class is unloaded from the runtime. | |
| (void) | + initialize |
| A method which is called the moment before the first call to the class is being made. | |
| (instancetype) | + alloc |
| Allocates memory for an instance of the class and sets up the memory pool for the object. | |
| (Class) | + class |
| Returns the class. | |
| (OFString *) | + className |
| Returns the name of the class as a string. | |
| (bool) | + isSubclassOfClass: |
| Returns a boolean whether the class is a subclass of the specified class. | |
| (nullable Class) | + superclass |
| Returns the superclass of the class. | |
| (bool) | + instancesRespondToSelector: |
| Checks whether instances of the class respond to a given selector. | |
| (bool) | + conformsToProtocol: |
| Checks whether the class conforms to a given protocol. | |
| (nullable IMP) | + instanceMethodForSelector: |
| Returns the implementation of the instance method for the specified selector. | |
| (nullable OFMethodSignature *) | + instanceMethodSignatureForSelector: |
| Returns the method signature of the instance method for the specified selector. | |
| (OFString *) | + description |
| Returns a description for the class, which is usually the class name. | |
| (nullable IMP) | + replaceClassMethod:withMethodFromClass: |
| Replaces a class method with a class method from another class. | |
| (nullable IMP) | + replaceInstanceMethod:withMethodFromClass: |
| Replaces an instance method with an instance method from another class. | |
| (void) | + inheritMethodsFromClass: |
| Adds all methods from the specified class to the class that is the receiver. | |
| (bool) | + resolveClassMethod: |
| Try to resolve the specified class method. | |
| (bool) | + resolveInstanceMethod: |
| Try to resolve the specified instance method. | |
| (id) | + copy |
| Returns the class. | |
Properties | |
| OFString * | name |
| The name for the thread to use when starting it. | |
| OFThreadBlock | block |
| The block to execute in the thread. | |
| OFRunLoop * | runLoop |
| The run loop for the thread. | |
| float | priority |
| The priority of the thread. | |
| size_t | stackSize |
| The stack size of the thread. | |
| bool | supportsSockets |
| Whether the thread supports sockets. | |
Properties inherited from OFObject | |
| OFString * | className |
| The name of the object's class. | |
| OFString * | description |
| A description for the object. | |
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.
Constructs the DNS resolver is there is none yet, unless currentThread is nil, in which case it returns nil.
| - (void) handleTermination |
This routine is executed when the thread's main method has finished executing or terminate has been called.
| - (instancetype) initWithBlock: | (OFThreadBlock) | block |
Initializes an already allocated thread with the specified block.
| block | A block which is executed by the thread |
| + (bool) isMainThread |
Returns whether the current thread is the main thread.
| - (id) join |
Joins a thread.
| OFJoinThreadFailedException | Joining the thread failed |
| - (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: | (OFTimeInterval) | 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) start |
Starts the thread.
| OFStartThreadFailedException | Starting the thread failed |
| OFThreadStillRunningException | The thread is still running |
| + (void) terminateWithObject: | (nullable id) | object |
Terminates the current thread, letting it return the specified object.
| object | The object which the terminated thread will return |
| OFInvalidArgumentException | The method was called from the main thread |
| + (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) threadWithBlock: | (OFThreadBlock) | block |
Creates a new thread with the specified block.
| block | 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).
| OFThreadStillRunningException | The thread is already/still running and thus the priority cannot be changed |
|
readwritenonatomicassign |
The stack size of the thread.
| OFThreadStillRunningException | The thread is already/still running and thus the stack size cannot be changed |
|
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.
| OFThreadStillRunningException | The thread is already/still running and thus the sockets support cannot be enabled/disabled |