Let's say I have this:
class Foo {
public static void main(String[] args) {
new Thread(Foo::a).start();
Thread.sleep(10000);
}
static void a() {
new Thread(Foo::b).start();
}
static void b() {
new Thread(Foo::c).start();
}
static void c() {
System.out.println("Blah blah blah");
}
}
the thread that started a
came from main
, the thread that started b
came from a
, the thread that started c
came from b
.
Is there a common term to describe how a thread came to existence, e.g., main->a->b->this thread? (In the language agnostic sense.)
A POSIX process is like a thread that has a private memory space, so terminology used for processes might be appropriate. In the POSIX (Unix) world, the relationship between processes is described as parent and child. If process A creates process B, A is the parent of B, and B is the child of A.
Although more distant relationships are possible, they are not often specially named in the POSIX world, but clearly a term like parentage or ancestry (as suggested by a commentator) would be appropriate.