55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
* The OFThread class provides portable threads.
*
* To use it, you should create a new class derived from it and reimplement
* main.
*/
@interface OFThread: OFObject
{
id object;
of_thread_t thread;
BOOL running;
@public
id retval;
}
/**
* \param obj An object that is passed to the main method as a copy or nil
* \return A new autoreleased thread
*/
+ threadWithObject: (id)obj;
/**
* Sets the Thread Local Storage for the specified key.
*
* The specified object is first retained and then the object stored before is
* released. You can specify nil as object if you want the old object to be
* released and don't want any new object for the TLS key.
*
* \param key The Thread Local Storage key
* \param obj The object the Thread Local Storage key will be set to
*/
+ setObject: (id)obj
forTLSKey: (OFTLSKey*)key;
/**
* Returns the object for the specified Thread Local Storage key.
*
* \param key The Thread Local Storage key
*/
+ (id)objectForTLSKey: (OFTLSKey*)key;
/**
* \param obj An object that is passed to the main method as a copy or nil
* \return An initialized OFThread.
*/
- initWithObject: (id)obj;
/**
* 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.
*
|
|
|
|
|
|
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
|
* The OFThread class provides portable threads.
*
* To use it, you should create a new class derived from it and reimplement
* main.
*/
@interface OFThread: OFObject
{
OFObject <OFCopying> *object;
of_thread_t thread;
BOOL running;
@public
id retval;
}
/**
* \param obj An object that is passed to the main method as a copy or nil
* \return A new autoreleased thread
*/
+ threadWithObject: (OFObject <OFCopying>*)obj;
/**
* Sets the Thread Local Storage for the specified key.
*
* The specified object is first retained and then the object stored before is
* released. You can specify nil as object if you want the old object to be
* released and don't want any new object for the TLS key.
*
* \param key The Thread Local Storage key
* \param obj The object the Thread Local Storage key will be set to
*/
+ setObject: (OFObject*)obj
forTLSKey: (OFTLSKey*)key;
/**
* Returns the object for the specified Thread Local Storage key.
*
* \param key The Thread Local Storage key
*/
+ (id)objectForTLSKey: (OFTLSKey*)key;
/**
* \param obj An object that is passed to the main method as a copy or nil
* \return An initialized OFThread.
*/
- initWithObject: (OFObject <OFCopying>*)obj;
/**
* 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.
*
|