win32多线程程序设计 读后感解决方案
win32多线程程序设计 读后感
当然并没有全部读完,overlapped I/O、进程之间的通讯、建造DLLs还有第17章。这几章用到再读吧
侯先生大概把多线程的发展史讲了一遍。
从CreateThread()开始,讲解多线程的启动退出、等待、挂起唤醒、
同步控制。这部分很全面。
而后又讲到_beginthreadex()。讲C++中为什么不用CreateThread(),
_beginthreadex()在MFC中的限制。而后自己封装了CriticalSection,一
步一步讲解同步控制的封装。这个主要是在C++中的应用。
而后到MFC,继续讲解MFC下的封装。MFC下同步控制,以及其局限性。
窗口管理算是windows原理的一部分吧。
后面就是一些调试技术。
上面这三条线,一步一步的封装对理解原理很重要。着急上手的话,
还是换本书吧,后面两条线没有再全面讲解多线程。
记得的侯先生的警告:
1)最小表面积设计多线程
2)考虑context switch
3)防止deadlock
流水账,求大神给推荐一个练手的。
------解决方案--------------------
1.
自己去实现一个读写锁.
要有等待队列.
所谓等待队列即,
如果在读锁定时, 有一个写锁请求.
如果继续响应读请求, 则锁可能会一直为读锁定, 而写请求得不到响应.
而实际往往写请求优先级比较高.
因此不能无节制的响应读请求.
2.
用Windows的Fiber机制来模拟和实现一套线程调度模型,
如果有兴趣在此基础上自己实现一套线程同步对象(临界区、信号量、互斥量、事件)
考虑如何辅助对死锁的分析.
3.
vs2010开始加入的ppl是微软提供的高性能并发库, 其中实现了线程池、任务动态分配与调配、
现成本地存储等, 有没有兴趣自己实现一套呢。
4.
用多线程求0xFFFFFFFF内质数的个数. 如何实现才能充分利用多核CPU.
随手想的, 挑自己喜欢的写吧...
------解决方案--------------------
作者并非侯
尊重作者劳动成果
------解决方案--------------------
同楼主一样, 正在读这本书, 有点吃力, 刚接触多线程
------解决方案--------------------
这本书很好,很深。至少读3遍。
(临界区、信号量、互斥量、事件)
4个玩样,找个样例练习下。
特别是临界区的限制要注意
------解决方案--------------------
呵呵,本人也正在看这本书,写的确实不错。快看完了,继续努力。
当然并没有全部读完,overlapped I/O、进程之间的通讯、建造DLLs还有第17章。这几章用到再读吧
侯先生大概把多线程的发展史讲了一遍。
从CreateThread()开始,讲解多线程的启动退出、等待、挂起唤醒、
同步控制。这部分很全面。
而后又讲到_beginthreadex()。讲C++中为什么不用CreateThread(),
_beginthreadex()在MFC中的限制。而后自己封装了CriticalSection,一
步一步讲解同步控制的封装。这个主要是在C++中的应用。
而后到MFC,继续讲解MFC下的封装。MFC下同步控制,以及其局限性。
窗口管理算是windows原理的一部分吧。
后面就是一些调试技术。
上面这三条线,一步一步的封装对理解原理很重要。着急上手的话,
还是换本书吧,后面两条线没有再全面讲解多线程。
记得的侯先生的警告:
1)最小表面积设计多线程
2)考虑context switch
3)防止deadlock
流水账,求大神给推荐一个练手的。
------解决方案--------------------
1.
自己去实现一个读写锁.
要有等待队列.
所谓等待队列即,
如果在读锁定时, 有一个写锁请求.
如果继续响应读请求, 则锁可能会一直为读锁定, 而写请求得不到响应.
而实际往往写请求优先级比较高.
因此不能无节制的响应读请求.
2.
用Windows的Fiber机制来模拟和实现一套线程调度模型,
如果有兴趣在此基础上自己实现一套线程同步对象(临界区、信号量、互斥量、事件)
考虑如何辅助对死锁的分析.
3.
vs2010开始加入的ppl是微软提供的高性能并发库, 其中实现了线程池、任务动态分配与调配、
现成本地存储等, 有没有兴趣自己实现一套呢。
4.
用多线程求0xFFFFFFFF内质数的个数. 如何实现才能充分利用多核CPU.
随手想的, 挑自己喜欢的写吧...
------解决方案--------------------
作者并非侯
尊重作者劳动成果
------解决方案--------------------
同楼主一样, 正在读这本书, 有点吃力, 刚接触多线程
------解决方案--------------------
这本书很好,很深。至少读3遍。
(临界区、信号量、互斥量、事件)
4个玩样,找个样例练习下。
特别是临界区的限制要注意
------解决方案--------------------
呵呵,本人也正在看这本书,写的确实不错。快看完了,继续努力。