Deutsch English Français Italiano |
<20241207044414.446@kylheku.com> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Kaz Kylheku <643-408-1753@kylheku.com> Newsgroups: comp.lang.c Subject: Re: best approach for multithreading (?) Date: Sun, 8 Dec 2024 03:49:29 -0000 (UTC) Organization: A noiseless patient Spider Lines: 35 Message-ID: <20241207044414.446@kylheku.com> References: <ddd3a0b59c95b5752b66f46348c96a6f8279d518@i2pn2.org> <slrnvkousf.2d4d7.candycanearter07@candydeb.host.invalid> <vii0ao$2jdsb$1@dont-email.me> <20241201074928.161@kylheku.com> <viipr8$2qq41$4@dont-email.me> <20241203094647.518@kylheku.com> <vitfc3$1so4u$1@dont-email.me> <20241205191339.256@kylheku.com> <3mF4P.64$pAh5.41@fx06.iad> <vj0ln4$2se98$1@dont-email.me> Injection-Date: Sun, 08 Dec 2024 04:49:30 +0100 (CET) Injection-Info: dont-email.me; posting-host="a7f5c249dbe01658af48224af11a9e74"; logging-data="3767724"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18WCBTjxbTmUBoo+RoddExL9fHmMbOMvWk=" User-Agent: slrn/pre1.0.4-9 (Linux) Cancel-Lock: sha1:h3VybgFjKNraRN03bTc1ShPrDXo= Bytes: 2797 On 2024-12-07, James Kuyper <jameskuyper@alumni.caltech.edu> wrote: > On 12/6/24 11:10, Scott Lurndal wrote: >> Kaz Kylheku <643-408-1753@kylheku.com> writes: >>> On 2024-12-06, James Kuyper <jameskuyper@alumni.caltech.edu> wrote: > ... >>>> C <threads.h> can be implemented as a thin wrapper over POSIX threads. >>>> The waste is relatively negligible. The differences, were intended to >>>> allow <threads.h> to also be implemented on non-POSIX systems as >>>> wrappers for whatever the native threading system was. >>> >>> Generally speaking, you can have a function called pthread_create on >>> non-POSIX systems, and a header <pthread.h>. >> >> There are certain requirements of a posix threads implementation that >> might be impossible for a non-POSIX system to implement efficiently; >> windows, for example, doesn't support signals. > > My words above not-withstanding, I am not in any sense an expert on any > kind of threading, nor of Windows. What does POSIX require of threads > with regards to signals? Off the top of my head, the highlights: - threads have their own signal masks, inherited from the creator which calls pthtead_create. - signal masks can be manipulated so that a given signal will be handled in the context of a desired thread. - sigwait (and several other functions) can be used by a thread to wait for one or more signals, allowing signals to be process synchronously, somewhat like message passing. -- TXR Programming Language: http://nongnu.org/txr Cygnal: Cygwin Native Application Library: http://kylheku.com/cygnal Mastodon: @Kazinator@mstdn.ca