大家好,今天小编关注到一个比较有意思的话题,就是关于怎么学习并发编程的问题,于是小编就整理了2个相关介绍怎么学习并发编程的解答,让我们一起看看吧。
c/c++如何进行网络编程、多线程编程?
每个平台有自己的实现而已,大体意思都一编程先要了解逻辑和思想,至于api 那只是每个平台为了实现功能提供的接口而已。
比如网络编程,你要知道什么是阻塞,非阻塞,同步,异步的概念,了解了这些以后,再去关注你想学习的系统,比如linux下的非阻塞模型,select,poll,epoll
(图片来源网络,侵删)
比如windows下的select,iocp
再比如多线程,你要了解什么是多线程,什么是锁,什么是线程同步,知道可这些以后你才能了解如何创建线程,什么情况下加什么锁等等
了解思想是第一步,api是第二步
(图片来源网络,侵删)
其实c++11已经在多线程方面有很大改善,可以做到跨平台
还有boost 学下其中的asio 那么网络编程也能实现跨平台
多线程编程需要注意的几点?
1、不要在子线程操作UI控件2、如果你操作了,也绝对不能调用UpdateData来更新界面,否则程序Crash3、这一条建立在第一条基础上---你在子线程操作UI控件,不可以让主线程等待某些条件(如等待子线程关闭,而子线程正在操作UI、等待进入临界区,而子线程已经进入,并且操作UI),否则会出现***死..
(图片来源网络,侵删)
.4、最好方案:子线程操作数据,完成之后,通知主线程进行更新....
到此,以上就是小编对于怎么学习并发编程的问题就介绍到这了,希望介绍关于怎么学习并发编程的2点解答对大家有用。