How you guys go about -BetterC Multithreading?
ParticlePeter
ParticlePeter at gmx.de
Thu Nov 9 12:57:06 UTC 2017
On Thursday, 9 November 2017 at 12:43:54 UTC, Petar Kirov
[ZombineDev] wrote:
> On Thursday, 9 November 2017 at 12:30:49 UTC, rikki cattermole
> wrote:
>> On 09/11/2017 12:19 PM, Petar Kirov [ZombineDev] wrote:
>>> On Thursday, 9 November 2017 at 11:08:21 UTC, ParticlePeter
>>> wrote:
>>>> Any experience reports or general suggestions?
>>>> I've used only D threads so far.
>>>
>>> It would be far easier if you use druntime + @nogc and/or
>>> de-register latency-sensitive threads from druntime [1], so
>>> they're not interrupted even if some other thread calls the
>>> GC. Probably the path of least resistance is to call [2] and
>>> queue @nogc tasks on [3].
>>>
>>> If you really want to pursue the version(D_BetterC) route,
>>> then you're essentially on your own to use the threading
>>> facilities provided by your target OS, e.g.:
>>>
>>> https://linux.die.net/man/3/pthread_create
>>> https://msdn.microsoft.com/en-us/library/windows/desktop/ms682516(v=vs.85).aspx
>>
>> You can use a library like libuv to handle threads
>> (non-language based TLS too, not sure that it can be tied in
>> unfortunately).
>
> Yeah, any cross-platform thread-pool / event loop library with
> C interface should obviously be preferred than manual use of
> raw thread primitives.
>
> Essentially, try to follow Sean Parent's advice on "No
> Raw/Incidental *":
> https://www.youtube.com/watch?v=zULU6Hhp42w
This all is good input, thanks.
I was looking into:
https://github.com/GerHobbelt/pthread-win32
Anyone used this?
More information about the Digitalmars-d-learn
mailing list