Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #103865
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: Memory not updating in thread as expected |
| Date | 2017-02-14 11:07 +0000 |
| Organization | A noiseless patient Spider |
| Message-ID | <87lgt9rpww.fsf@bsb.me.uk> (permalink) |
| References | (1 earlier) <d52fe51a-1f8d-47fe-9283-5f1c13f5a05d@googlegroups.com> <ggg3acdd9s4h3p47f4488mns89opglousv@4ax.com> <o7tb2c$40o$1@dont-email.me> <o7ts13$d40$1@dont-email.me> <o7ufui$upl$1@dont-email.me> |
David Brown <david.brown@hesbynett.no> writes: <snip> > To be honest, I am far from convinced that the C11 threading stuff is > useful. The atomics can be useful (though hard to understand), but > threading is too specific to the OS in question - an abstraction like > <threads.h> is not a good match. For Linux, you want support for > standard mutexes, fast mutexes, spinlocks, read-write locks, etc. - a > library that gives you only simple condition variables and mutexes is > not enough. I would defer to your experience in this matter were it not for the fact that I've heard this argument so many times over the decades. We can't just have loops and tests and function calls, we need computed gotos, alternate returns and coroutines. C's standard IO is just too crude, we need access to the OS's record-oriented IO or what have you. Don't get me wrong -- there will always be some cases where such an argument is valid, and these arguments all had merit at the time due to practical considerations, programmer experience and so on, but, in the long run, programming has improved by offering having fewer, simpler and more general abstractions. The real solution is probably even higher-level abstractions at the language level, but that's not an option for C in that C's niche will always be a low-end of the abstraction spectrum. So it seems at least possible that C's threading and synchronisation mechanisms might become the stdio.h of concurrency (in a decade or two). The low-level mechanisms are a mess right now. Alain Ketterlin helpfully posted an example, but there a few things he was not sure about. Must the signal call be protected by the mutex, and could the 'while' used in waiting be an 'if' in this case?[1] It all seems a bit like the modern version of "can you jump over a declaration?". [1] I don't want to sound curmudgeonly -- that poster was braver than I. I considered offering an example but then thought about all the details I'd have to check up on and how likely I would be to make a mess of it. He clearly knows his stuff. In fact, I think that asking when, and on what systems, can you use 'if' like that with a condition variable would make a good interview question! -- Ben.
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Memory not updating in thread as expected Test <test@.nil.invalid.com> - 2017-02-13 12:46 +0200
Re: Memory not updating in thread as expected m.labanowicz@gmail.com - 2017-02-13 05:18 -0800
Re: Memory not updating in thread as expected Test <test@.nil.invalid.com> - 2017-02-13 16:25 +0200
Re: Memory not updating in thread as expected m.labanowicz@gmail.com - 2017-02-13 10:30 -0800
Re: Memory not updating in thread as expected Jerry Stuckle <jstucklex@attglobal.net> - 2017-02-13 14:30 -0500
Re: Memory not updating in thread as expected m.labanowicz@gmail.com - 2017-02-13 05:46 -0800
Re: Memory not updating in thread as expected Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-02-13 14:30 +0000
Re: Memory not updating in thread as expected "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-02-13 15:13 -0800
Re: Memory not updating in thread as expected Test <test@.nil.invalid.com> - 2017-02-13 16:36 +0200
Re: Memory not updating in thread as expected David Brown <david.brown@hesbynett.no> - 2017-02-13 23:15 +0100
Re: Memory not updating in thread as expected James Kuyper <jameskuyper@verizon.net> - 2017-02-13 22:04 -0500
Re: Memory not updating in thread as expected David Brown <david.brown@hesbynett.no> - 2017-02-14 09:44 +0100
Re: Memory not updating in thread as expected Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-02-14 11:07 +0000
Re: Memory not updating in thread as expected David Brown <david.brown@hesbynett.no> - 2017-02-14 12:46 +0100
Re: Memory not updating in thread as expected Robert Wessel <robertwessel2@yahoo.com> - 2017-02-16 05:12 -0600
Re: Memory not updating in thread as expected David Brown <david.brown@hesbynett.no> - 2017-02-16 12:44 +0100
Re: Memory not updating in thread as expected Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2017-02-14 15:53 +0100
Re: Memory not updating in thread as expected Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-02-14 15:36 +0000
Re: Memory not updating in thread as expected Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2017-02-14 17:58 +0100
Re: Memory not updating in thread as expected Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-02-14 17:26 +0000
Re: Memory not updating in thread as expected Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2017-02-14 10:43 +0100
Re: Memory not updating in thread as expected Robert Wessel <robertwessel2@yahoo.com> - 2017-02-14 03:52 -0600
Re: Memory not updating in thread as expected Alain Ketterlin <alain@universite-de-strasbourg.fr.invalid> - 2017-02-14 11:36 +0100
Re: Memory not updating in thread as expected supercat@casperkitty.com - 2017-02-14 05:31 -0800
Re: Memory not updating in thread as expected Ken Brody <kenbrody@spamcop.net> - 2017-02-13 12:44 -0500
Re: Memory not updating in thread as expected Joe Pfeiffer <pfeiffer@cs.nmsu.edu> - 2017-02-13 10:58 -0700
Re: Memory not updating in thread as expected "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-02-14 15:13 -0800
Re: Memory not updating in thread as expected "Chris M. Thomasson" <invalid@invalid.invalid> - 2017-02-14 16:37 -0800
csiph-web