Thread Struct Reference
Object representation of a system thread. More...
Inheritance diagram for Thread:

Data Fields | |
| KrkInstance | inst |
| KrkThreadState * | threadState |
| pthread_t | nativeRef |
| pid_t | tid |
| unsigned int | started:1 |
| unsigned int | alive:1 |
| unsigned int | maxrec |
Data Fields inherited from KrkInstance | |
| KrkClass * | _class |
| Type. | |
| KrkTable | fields |
| Attributes table. | |
Data Fields inherited from KrkObj | |
| uint16_t | type |
| Tag indicating core type. | |
| uint16_t | flags |
| General object flags, mostly related to garbage collection. | |
| uint32_t | hash |
| Cached hash value for table keys. | |
| struct KrkObj * | next |
| Invasive linked list of all objects in the VM. | |
Additional Inherited Members | |
Public Member Functions inherited from KrkInstance | |
| KrkInstance * | krk_newInstance (KrkClass *_class) |
| Create a new instance of the given class. More... | |
Protected Attributes inherited from KrkInstance | |
| KrkObj | obj |
| Base. | |
Detailed Description
Object representation of a system thread.
Except for the main thread, each new thread spawned by the virtual machine is represented by a thread object. As long as the thread is active, its own thread object will live on its stac and avoid being garbage collected. When a thread terminates, its thread object can be released if not referenced from another thread.
The documentation for this struct was generated from the following file:
- src/threads.c
Data Fields inherited from