Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c++ > #80262 > unrolled thread
| Started by | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| First post | 2021-06-10 16:59 -0500 |
| Last post | 2021-07-27 03:58 +0200 |
| Articles | 20 on this page of 22 — 9 participants |
Back to article view | Back to comp.lang.c++
good reference on threads Lynn McGuire <lynnmcguire5@gmail.com> - 2021-06-10 16:59 -0500
Re: good reference on threads Öö Tiib <ootiib@hot.ee> - 2021-06-10 15:49 -0700
Re: good reference on threads Öö Tiib <ootiib@hot.ee> - 2021-06-10 17:58 -0700
Re: good reference on threads Lynn McGuire <lynnmcguire5@gmail.com> - 2021-06-10 20:31 -0500
Re: good reference on threads Öö Tiib <ootiib@hot.ee> - 2021-06-10 20:31 -0700
Re: good reference on threads "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-06-10 21:32 -0700
Re: good reference on threads "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-06-10 21:33 -0700
Re: good reference on threads Ian Collins <ian-news@hotmail.com> - 2021-06-11 20:17 +1200
Re: good reference on threads Lynn McGuire <lynnmcguire5@gmail.com> - 2021-06-11 14:13 -0500
Re: good reference on threads Paavo Helde <myfirstname@osa.pri.ee> - 2021-06-11 14:03 +0300
Re: good reference on threads Paavo Helde <myfirstname@osa.pri.ee> - 2021-06-11 15:19 +0300
Re: good reference on threads "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-06-12 14:41 -0700
Re: good reference on threads Lynn McGuire <lynnmcguire5@gmail.com> - 2021-06-10 22:03 -0500
Re: good reference on threads "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-06-10 20:08 -0700
Re: good reference on threads Lynn McGuire <lynnmcguire5@gmail.com> - 2021-07-01 22:27 -0500
Re: good reference on threads "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2021-07-01 21:28 -0700
Re: good reference on threads legalize+jeeves@mail.xmission.com (Richard) - 2021-07-27 01:21 +0000
Re: good reference on threads Cholo Lennon <chololennon@hotmail.com> - 2021-06-12 23:06 -0300
Re: good reference on threads Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-12 21:47 -0700
Re: good reference on threads Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-06-12 21:49 -0700
Re: good reference on threads legalize+jeeves@mail.xmission.com (Richard) - 2021-07-27 01:19 +0000
Re: good reference on threads Bonita Montero <Bonita.Montero@gmail.com> - 2021-07-27 03:58 +0200
Page 1 of 2 [1] 2 Next page →
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2021-06-10 16:59 -0500 |
| Subject | good reference on threads |
| Message-ID | <s9u208$94h$2@dont-email.me> |
Is there a good reference on threads ? I would like to delegate the writing of our binary file to a background thread if possible. Our Win32 Windows desktop program is mostly MFC with about 450,000 lines of C++ code. I do suspect that this is not doable, due to the nature of the data being used for dialogs and such. Thanks, Lynn
[toc] | [next] | [standalone]
| From | Öö Tiib <ootiib@hot.ee> |
|---|---|
| Date | 2021-06-10 15:49 -0700 |
| Message-ID | <cf233b93-519a-4987-ae48-7831b2d55179n@googlegroups.com> |
| In reply to | #80262 |
On Friday, 11 June 2021 at 00:59:52 UTC+3, Lynn McGuire wrote: > Is there a good reference on threads ? I would like to delegate the > writing of our binary file to a background thread if possible. Our > Win32 Windows desktop program is mostly MFC with about 450,000 lines of > C++ code. > > I do suspect that this is not doable, due to the nature of the data > being used for dialogs and such. Threads can be used in various ways. Making half million lines code-base that is not thread safe to use threads is quite painful trick to pull. "Not doable" is not what I've met, it is always "what it will cost". I would maybe study Boost.Asio as it has nice clear philosophy of how to use threads. Then the question will shift from "how to make multiple threads to concurrently use same data?" to "how to make seamless I/O between threads that all have their own data?".
[toc] | [prev] | [next] | [standalone]
| From | Öö Tiib <ootiib@hot.ee> |
|---|---|
| Date | 2021-06-10 17:58 -0700 |
| Message-ID | <2d19a12a-38a8-4bdd-bc0d-72cacf2571aan@googlegroups.com> |
| In reply to | #80264 |
On Friday, 11 June 2021 at 01:49:31 UTC+3, Öö Tiib wrote: > On Friday, 11 June 2021 at 00:59:52 UTC+3, Lynn McGuire wrote: > > Is there a good reference on threads ? I would like to delegate the > > writing of our binary file to a background thread if possible. Our > > Win32 Windows desktop program is mostly MFC with about 450,000 lines of > > C++ code. > > > > I do suspect that this is not doable, due to the nature of the data > > being used for dialogs and such. > Threads can be used in various ways. Making half million lines > code-base that is not thread safe to use threads is quite painful > trick to pull. "Not doable" is not what I've met, it is always "what it > will cost". I would maybe study Boost.Asio as it has nice clear > philosophy of how to use threads. Then the question will shift > from "how to make multiple threads to concurrently use same > data?" to "how to make seamless I/O between threads that all > have their own data?". Forgot to give link to brief introduction to it: <https://theboostcpplibraries.com/boost.asio> It is always viewed as some kind of networking, multiprocessing and/or RPC tool in books. You can indeed do all that great with it. For example you can use separate process for writing that binary file with it. But you can also use just one thread, communicated with through Boost.Asio without separate process. It is likely one of safest ways of introducing multithreading into single-threaded legacy code.
[toc] | [prev] | [next] | [standalone]
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2021-06-10 20:31 -0500 |
| Message-ID | <s9uee1$bk0$1@dont-email.me> |
| In reply to | #80264 |
On 6/10/2021 5:49 PM, Öö Tiib wrote: > On Friday, 11 June 2021 at 00:59:52 UTC+3, Lynn McGuire wrote: >> Is there a good reference on threads ? I would like to delegate the >> writing of our binary file to a background thread if possible. Our >> Win32 Windows desktop program is mostly MFC with about 450,000 lines of >> C++ code. >> >> I do suspect that this is not doable, due to the nature of the data >> being used for dialogs and such. > > Threads can be used in various ways. Making half million lines > code-base that is not thread safe to use threads is quite painful > trick to pull. "Not doable" is not what I've met, it is always "what it > will cost". I would maybe study Boost.Asio as it has nice clear > philosophy of how to use threads. Then the question will shift > from "how to make multiple threads to concurrently use same > data?" to "how to make seamless I/O between threads that all > have their own data?". I already have threads that have their own data. I guess that I should have mentioned that. I want multiple threads to share the massive dataset that we use. Very tricky, I have tried sharing data between the threads and it was a disaster. Lynn
[toc] | [prev] | [next] | [standalone]
| From | Öö Tiib <ootiib@hot.ee> |
|---|---|
| Date | 2021-06-10 20:31 -0700 |
| Message-ID | <2d59cdde-1d9a-44da-ab7c-c874b6b52706n@googlegroups.com> |
| In reply to | #80267 |
On Friday, 11 June 2021 at 04:32:04 UTC+3, Lynn McGuire wrote: > On 6/10/2021 5:49 PM, Öö Tiib wrote: > > On Friday, 11 June 2021 at 00:59:52 UTC+3, Lynn McGuire wrote: > >> Is there a good reference on threads ? I would like to delegate the > >> writing of our binary file to a background thread if possible. Our > >> Win32 Windows desktop program is mostly MFC with about 450,000 lines of > >> C++ code. > >> > >> I do suspect that this is not doable, due to the nature of the data > >> being used for dialogs and such. > > > > Threads can be used in various ways. Making half million lines > > code-base that is not thread safe to use threads is quite painful > > trick to pull. "Not doable" is not what I've met, it is always "what it > > will cost". I would maybe study Boost.Asio as it has nice clear > > philosophy of how to use threads. Then the question will shift > > from "how to make multiple threads to concurrently use same > > data?" to "how to make seamless I/O between threads that all > > have their own data?". > I already have threads that have their own data. I guess that I should > have mentioned that. > > I want multiple threads to share the massive dataset that we use. Very > tricky, I have tried sharing data between the threads and it was a disaster. It is about philosophy what you do. I prefer not to share data. Several threads taking their turns to do something with data (X) is obviously equivalent to just one thread (XMaster) accessing X and rest of the threads telling to XMaster what they want from X in asynchronous manner (for that I suggest asio). It is easier that way to solve when too lot of work is needed to be done with X so work queue of XMaster keeps growing. XMaster can then split X into parts and delegate managing of those parts to its own workers. Once all computing power is occupied and queue full then it is time to buy more hardware. And now if you used asio then it is all easy as asio is meant for networking and RPC and your software has grown into networking and RPC thanks to more hardware you bought.
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2021-06-10 21:32 -0700 |
| Message-ID | <s9up0m$lob$1@gioia.aioe.org> |
| In reply to | #80270 |
On 6/10/2021 8:31 PM, Öö Tiib wrote: > On Friday, 11 June 2021 at 04:32:04 UTC+3, Lynn McGuire wrote: >> On 6/10/2021 5:49 PM, Öö Tiib wrote: >>> On Friday, 11 June 2021 at 00:59:52 UTC+3, Lynn McGuire wrote: [...] > It is about philosophy what you do. I prefer not to share data. Only share data when you have to! That is a decent mantra to learn. [...]
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2021-06-10 21:33 -0700 |
| Message-ID | <s9up3a$lob$2@gioia.aioe.org> |
| In reply to | #80271 |
On 6/10/2021 9:32 PM, Chris M. Thomasson wrote: > On 6/10/2021 8:31 PM, Öö Tiib wrote: >> On Friday, 11 June 2021 at 04:32:04 UTC+3, Lynn McGuire wrote: >>> On 6/10/2021 5:49 PM, Öö Tiib wrote: >>>> On Friday, 11 June 2021 at 00:59:52 UTC+3, Lynn McGuire wrote: > [...] >> It is about philosophy what you do. I prefer not to share data. > > > Only share data when you have to! That is a decent mantra to learn. > > [...] http://fractallife247.com/test/hmac_cipher/ver_0_0_0_1?ct_hmac_cipher=54795fe0246af4b9532e60e9ac34f9456c16a663dbb5904d2f7806299b9a705d9e21f176ebabf0a96acdfb157bd3e6f59a4343d33915547955ef34c1436db905f4791c8c383d5e020f609ddad25852ee706b93ae145d44a34145e06e758d6c2fbd3cbc502beca8f048d9942e3e2d955126e6df10eb388ac2e1359035183974d9c19939b8748e89b1213b15b774fbb55a13de
[toc] | [prev] | [next] | [standalone]
| From | Ian Collins <ian-news@hotmail.com> |
|---|---|
| Date | 2021-06-11 20:17 +1200 |
| Message-ID | <iigkhbFcj8jU1@mid.individual.net> |
| In reply to | #80267 |
On 11/06/2021 13:31, Lynn McGuire wrote: > On 6/10/2021 5:49 PM, Öö Tiib wrote: >> On Friday, 11 June 2021 at 00:59:52 UTC+3, Lynn McGuire wrote: >>> Is there a good reference on threads ? I would like to delegate the >>> writing of our binary file to a background thread if possible. Our >>> Win32 Windows desktop program is mostly MFC with about 450,000 lines of >>> C++ code. >>> >>> I do suspect that this is not doable, due to the nature of the data >>> being used for dialogs and such. >> >> Threads can be used in various ways. Making half million lines >> code-base that is not thread safe to use threads is quite painful >> trick to pull. "Not doable" is not what I've met, it is always "what it >> will cost". I would maybe study Boost.Asio as it has nice clear >> philosophy of how to use threads. Then the question will shift >> from "how to make multiple threads to concurrently use same >> data?" to "how to make seamless I/O between threads that all >> have their own data?". > > I already have threads that have their own data. I guess that I should > have mentioned that. > > I want multiple threads to share the massive dataset that we use. Very > tricky, I have tried sharing data between the threads and it was a disaster. Well it very much depends on whether you have multiple writers. If you have a more readers than writers, std::shared_mutex is worth a look. -- Ian.
[toc] | [prev] | [next] | [standalone]
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2021-06-11 14:13 -0500 |
| Message-ID | <sa0cki$hot$1@dont-email.me> |
| In reply to | #80275 |
On 6/11/2021 3:17 AM, Ian Collins wrote: > On 11/06/2021 13:31, Lynn McGuire wrote: >> On 6/10/2021 5:49 PM, Öö Tiib wrote: >>> On Friday, 11 June 2021 at 00:59:52 UTC+3, Lynn McGuire wrote: >>>> Is there a good reference on threads ? I would like to delegate the >>>> writing of our binary file to a background thread if possible. Our >>>> Win32 Windows desktop program is mostly MFC with about 450,000 lines of >>>> C++ code. >>>> >>>> I do suspect that this is not doable, due to the nature of the data >>>> being used for dialogs and such. >>> >>> Threads can be used in various ways. Making half million lines >>> code-base that is not thread safe to use threads is quite painful >>> trick to pull. "Not doable" is not what I've met, it is always "what it >>> will cost". I would maybe study Boost.Asio as it has nice clear >>> philosophy of how to use threads. Then the question will shift >>> from "how to make multiple threads to concurrently use same >>> data?" to "how to make seamless I/O between threads that all >>> have their own data?". >> >> I already have threads that have their own data. I guess that I should >> have mentioned that. >> >> I want multiple threads to share the massive dataset that we use. Very >> tricky, I have tried sharing data between the threads and it was a >> disaster. > > Well it very much depends on whether you have multiple writers. If you > have a more readers than writers, std::shared_mutex is worth a look. The problem is specifically too many writes slowing the user interface down. Lynn
[toc] | [prev] | [next] | [standalone]
| From | Paavo Helde <myfirstname@osa.pri.ee> |
|---|---|
| Date | 2021-06-11 14:03 +0300 |
| Message-ID | <s9vfug$rd8$1@dont-email.me> |
| In reply to | #80267 |
11.06.2021 04:31 Lynn McGuire kirjutas: > > I want multiple threads to share the massive dataset that we use. Very > tricky, I have tried sharing data between the threads and it was a > disaster. MFC is not thread-safe, so only the main thread can call any MFC functions. For data exchange the most robust way is to use a couple of message queues for passing events back and forth between the threads. Any data which is not MT-safe to access should be copied by value into a new non-shared object when putting into the queue. One can easily build such a queue with a std::queue and a std::mutex. For example, if a background queue wants to display a message to the user, it can send an event to the main thread queue containing the message. The main thread would check in a MFC OnIdle() function if there are any events in the queue, and process them in the main thread.
[toc] | [prev] | [next] | [standalone]
| From | Paavo Helde <myfirstname@osa.pri.ee> |
|---|---|
| Date | 2021-06-11 15:19 +0300 |
| Message-ID | <s9vkct$r8$2@dont-email.me> |
| In reply to | #80290 |
11.06.2021 14:03 Paavo Helde kirjutas: > 11.06.2021 04:31 Lynn McGuire kirjutas: >> >> I want multiple threads to share the massive dataset that we use. >> Very tricky, I have tried sharing data between the threads and it was >> a disaster. > > MFC is not thread-safe, so only the main thread can call any MFC functions. > > For data exchange the most robust way is to use a couple of message > queues for passing events back and forth between the threads. Any data > which is not MT-safe to access should be copied by value into a new > non-shared object when putting into the queue. > > One can easily build such a queue with a std::queue and a std::mutex. s/std::queue/std::deque/ > For example, if a background queue wants to display a message to the > user, it can send an event to the main thread queue containing the > message. The main thread would check in a MFC OnIdle() function if there > are any events in the queue, and process them in the main thread. >
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2021-06-12 14:41 -0700 |
| Message-ID | <sa39m8$mkk$1@dont-email.me> |
| In reply to | #80290 |
On 6/11/2021 4:03 AM, Paavo Helde wrote: > 11.06.2021 04:31 Lynn McGuire kirjutas: >> >> I want multiple threads to share the massive dataset that we use. >> Very tricky, I have tried sharing data between the threads and it was >> a disaster. > > MFC is not thread-safe, so only the main thread can call any MFC functions. > > For data exchange the most robust way is to use a couple of message > queues for passing events back and forth between the threads. Any data > which is not MT-safe to access should be copied by value into a new > non-shared object when putting into the queue. > > One can easily build such a queue with a std::queue and a std::mutex. > > For example, if a background queue wants to display a message to the > user, it can send an event to the main thread queue containing the > message. The main thread would check in a MFC OnIdle() function if there > are any events in the queue, and process them in the main thread. > Oh I missed the MFC usage. Actually used it a couple of times in the early to mid 90's. Hummm, well, for a multi_producer-to-single_consumer relationship, if one can get over a LIFO order, this construction might be of use to the OP: https://groups.google.com/g/comp.lang.c++/c/1gppAtQpIQk/m/XX8-VDoMBgAJ One can also reverse the LIFO to get a FIFO.
[toc] | [prev] | [next] | [standalone]
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2021-06-10 22:03 -0500 |
| Message-ID | <s9ujq0$dhn$1@dont-email.me> |
| In reply to | #80262 |
On 6/10/2021 4:59 PM, Lynn McGuire wrote: > Is there a good reference on threads ? I would like to delegate the > writing of our binary file to a background thread if possible. Our > Win32 Windows desktop program is mostly MFC with about 450,000 lines of > C++ code. > > I do suspect that this is not doable, due to the nature of the data > being used for dialogs and such. > > Thanks, > Lynn I found "C++ Concurrency in Action, 2nd Edition" by Williams, Anthony. Has anyone read this and found it to be a good education on threads ? https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/ Thanks, Lynn McGuire
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2021-06-10 20:08 -0700 |
| Message-ID | <s9uk3u$1902$1@gioia.aioe.org> |
| In reply to | #80268 |
On 6/10/2021 8:03 PM, Lynn McGuire wrote: > On 6/10/2021 4:59 PM, Lynn McGuire wrote: >> Is there a good reference on threads ? I would like to delegate the >> writing of our binary file to a background thread if possible. Our >> Win32 Windows desktop program is mostly MFC with about 450,000 lines >> of C++ code. >> >> I do suspect that this is not doable, due to the nature of the data >> being used for dialogs and such. >> >> Thanks, >> Lynn > > I found "C++ Concurrency in Action, 2nd Edition" by Williams, Anthony. > Has anyone read this and found it to be a good education on threads ? > > https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/ I used to converse with Anthony way back. He knows his threads! :^)
[toc] | [prev] | [next] | [standalone]
| From | Lynn McGuire <lynnmcguire5@gmail.com> |
|---|---|
| Date | 2021-07-01 22:27 -0500 |
| Message-ID | <sbm13f$a1k$1@dont-email.me> |
| In reply to | #80269 |
On 6/10/2021 10:08 PM, Chris M. Thomasson wrote: > On 6/10/2021 8:03 PM, Lynn McGuire wrote: >> On 6/10/2021 4:59 PM, Lynn McGuire wrote: >>> Is there a good reference on threads ? I would like to delegate the >>> writing of our binary file to a background thread if possible. Our >>> Win32 Windows desktop program is mostly MFC with about 450,000 lines >>> of C++ code. >>> >>> I do suspect that this is not doable, due to the nature of the data >>> being used for dialogs and such. >>> >>> Thanks, >>> Lynn >> >> I found "C++ Concurrency in Action, 2nd Edition" by Williams, Anthony. >> Has anyone read this and found it to be a good education on threads ? >> >> https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/ >> > > I used to converse with Anthony way back. He knows his threads! :^) I bought the book. It looks intense. Not a very big font either. Lynn
[toc] | [prev] | [next] | [standalone]
| From | "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> |
|---|---|
| Date | 2021-07-01 21:28 -0700 |
| Message-ID | <sbm4m2$ohf$1@gioia.aioe.org> |
| In reply to | #80614 |
On 7/1/2021 8:27 PM, Lynn McGuire wrote: > On 6/10/2021 10:08 PM, Chris M. Thomasson wrote: >> On 6/10/2021 8:03 PM, Lynn McGuire wrote: >>> On 6/10/2021 4:59 PM, Lynn McGuire wrote: >>>> Is there a good reference on threads ? I would like to delegate the >>>> writing of our binary file to a background thread if possible. Our >>>> Win32 Windows desktop program is mostly MFC with about 450,000 lines >>>> of C++ code. >>>> >>>> I do suspect that this is not doable, due to the nature of the data >>>> being used for dialogs and such. >>>> >>>> Thanks, >>>> Lynn >>> >>> I found "C++ Concurrency in Action, 2nd Edition" by Williams, >>> Anthony. Has anyone read this and found it to be a good education on >>> threads ? >>> >>> https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/ >>> >> >> I used to converse with Anthony way back. He knows his threads! :^) > > I bought the book. It looks intense. Not a very big font either. I have not seen his new book, but I am wondering if he mentions how to use DWCAS in it with pure C++. I know he knows about it: actually, read the whole thread where this message resides: https://groups.google.com/g/lock-free/c/X3fuuXknQF0/m/Ho0H1iJgmrQJ He calls it DCAS in that thread, buts DCAS and DWCAS are different things. So, I am wondering if he mentions it in his 2nd edition.
[toc] | [prev] | [next] | [standalone]
| From | legalize+jeeves@mail.xmission.com (Richard) |
|---|---|
| Date | 2021-07-27 01:21 +0000 |
| Message-ID | <sdnn3f$1sc9$2@news.xmission.com> |
| In reply to | #80614 |
[Please do not mail me a copy of your followup]
Lynn McGuire <lynnmcguire5@gmail.com> spake the secret code
<sbm13f$a1k$1@dont-email.me> thusly:
>On 6/10/2021 10:08 PM, Chris M. Thomasson wrote:
>> On 6/10/2021 8:03 PM, Lynn McGuire wrote:
>>> On 6/10/2021 4:59 PM, Lynn McGuire wrote:
>>> I found "C++ Concurrency in Action, 2nd Edition" by Williams, Anthony.
>>> Has anyone read this and found it to be a good education on threads ?
>>>
>>> https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/
>>>
>>
>> I used to converse with Anthony way back. He knows his threads! :^)
>
>I bought the book. It looks intense. Not a very big font either.
It's organized in such a way that you can dig as deep (or as shallow)
as you like and still come away with a good understanding of what you
need to know. All my opinion, of course.
Anthony Williams is one of the primary authors of Boost.Threads, from
which we got std::thread. He also participates heavily in the ISO
standards process. It is *the* go to book for C++ multithreading and
concurrency.
--
"The Direct3D Graphics Pipeline" free book <http://tinyurl.com/d3d-pipeline>
The Terminals Wiki <http://terminals-wiki.org>
The Computer Graphics Museum <http://computergraphicsmuseum.org>
Legalize Adulthood! (my blog) <http://legalizeadulthood.wordpress.com>
[toc] | [prev] | [next] | [standalone]
| From | Cholo Lennon <chololennon@hotmail.com> |
|---|---|
| Date | 2021-06-12 23:06 -0300 |
| Message-ID | <sa3p6j$18om$1@gioia.aioe.org> |
| In reply to | #80268 |
On 6/11/21 12:03 AM, Lynn McGuire wrote: > On 6/10/2021 4:59 PM, Lynn McGuire wrote: >> Is there a good reference on threads ? I would like to delegate the >> writing of our binary file to a background thread if possible. Our >> Win32 Windows desktop program is mostly MFC with about 450,000 lines >> of C++ code. >> >> I do suspect that this is not doable, due to the nature of the data >> being used for dialogs and such. >> >> Thanks, >> Lynn > > I found "C++ Concurrency in Action, 2nd Edition" by Williams, Anthony. > Has anyone read this and found it to be a good education on threads ? > > https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/ > I have the 1st version of that book, it's a very good one on the subject. AFAIK it is "the" book about C++ multi-threaded programming. Regards -- Cholo Lennon Bs.As. ARG
[toc] | [prev] | [next] | [standalone]
| From | Keith Thompson <Keith.S.Thompson+u@gmail.com> |
|---|---|
| Date | 2021-06-12 21:47 -0700 |
| Message-ID | <875yyiz7z1.fsf@nosuchdomain.example.com> |
| In reply to | #80363 |
Cholo Lennon <chololennon@hotmail.com> writes:
> On 6/11/21 12:03 AM, Lynn McGuire wrote:
>> On 6/10/2021 4:59 PM, Lynn McGuire wrote:
>>> Is there a good reference on threads ? I would like to delegate
>>> the writing of our binary file to a background thread if possible.
>>> Our Win32 Windows desktop program is mostly MFC with about 450,000
>>> lines of C++ code.
>>>
>>> I do suspect that this is not doable, due to the nature of the data
>>> being used for dialogs and such.
>>>
>>> Thanks,
>>> Lynn
>> I found "C++ Concurrency in Action, 2nd Edition" by Williams,
>> Anthony. Has anyone read this and found it to be a good education on
>> threads ?
>> https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/
>
> I have the 1st version of that book, it's a very good one on the
> subject. AFAIK it is "the" book about C++ multi-threaded programming.
Amazon doesn't have it in Kindle format, but the second edition (2019)
is available from the print, ebook, and audio formats.
I haven't read it, so I can't comment on how good it is.
https://www.manning.com/books/c-plus-plus-concurrency-in-action-second-edition
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */
[toc] | [prev] | [next] | [standalone]
| From | Keith Thompson <Keith.S.Thompson+u@gmail.com> |
|---|---|
| Date | 2021-06-12 21:49 -0700 |
| Message-ID | <871r96z7we.fsf@nosuchdomain.example.com> |
| In reply to | #80364 |
Keith Thompson <Keith.S.Thompson+u@gmail.com> writes:
> Cholo Lennon <chololennon@hotmail.com> writes:
>> On 6/11/21 12:03 AM, Lynn McGuire wrote:
>>> On 6/10/2021 4:59 PM, Lynn McGuire wrote:
>>>> Is there a good reference on threads ? I would like to delegate
>>>> the writing of our binary file to a background thread if possible.
>>>> Our Win32 Windows desktop program is mostly MFC with about 450,000
>>>> lines of C++ code.
>>>>
>>>> I do suspect that this is not doable, due to the nature of the data
>>>> being used for dialogs and such.
>>>>
>>>> Thanks,
>>>> Lynn
>>> I found "C++ Concurrency in Action, 2nd Edition" by Williams,
>>> Anthony. Has anyone read this and found it to be a good education on
>>> threads ?
>>> https://www.amazon.com/C-Concurrency-Action-Anthony-Williams/dp/1617294691/
>>
>> I have the 1st version of that book, it's a very good one on the
>> subject. AFAIK it is "the" book about C++ multi-threaded programming.
>
> Amazon doesn't have it in Kindle format, but the second edition (2019)
> is available from the print, ebook, and audio formats.
I meant "available from the publisher".
> I haven't read it, so I can't comment on how good it is.
>
> https://www.manning.com/books/c-plus-plus-concurrency-in-action-second-edition
--
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
Working, but not speaking, for Philips Healthcare
void Void(void) { Void(); } /* The recursive call of the void */
[toc] | [prev] | [next] | [standalone]
Page 1 of 2 [1] 2 Next page →
Back to top | Article view | comp.lang.c++
csiph-web