fork
Posted: Tue Aug 15, 2006 8:07 pm
I am a bit confused about fork. It seems to be based on Unix fork() which creates a process. But manual says something about thread which is suggestive of light-weight process or threads as in pthread. Normally thread is something that shares memory space with other threads, not a complete process with its own memory space.
Many languages have thread support and they all use light-weight threads, not processes. I am wondering perhaps we should clarify the terminology in the manul or perhaps I am misguided. Is it the intent of newLISP to use processes for forking off an expression? I see value in that and it is useful. I am just wondering if there is a plan for supporting proper threads in the future and any clarifications on this. Java and C# have thread support in the language. Perl, python, ruby, etc. have support libraries. Lua has a coroutine that is interesting in that it can be used for multi-tasking as well as a generator. I am thinking it might be tricky to implement a coroutine in newLISP without support for continuation, but it might be interesting to have that feature.
Many languages have thread support and they all use light-weight threads, not processes. I am wondering perhaps we should clarify the terminology in the manul or perhaps I am misguided. Is it the intent of newLISP to use processes for forking off an expression? I see value in that and it is useful. I am just wondering if there is a plan for supporting proper threads in the future and any clarifications on this. Java and C# have thread support in the language. Perl, python, ruby, etc. have support libraries. Lua has a coroutine that is interesting in that it can be used for multi-tasking as well as a generator. I am thinking it might be tricky to implement a coroutine in newLISP without support for continuation, but it might be interesting to have that feature.