多线程学习笔记

1、如果在代码中有使用标准C运行库中的函数时,尽量使用_beginthreadex()来代替CreateThread()

2、在多线程环境中对一个变量进行读写时,我们需要有一种方法能够保证对一个值的递增操作是原子操作——即不可打断性,一个线程在执行原子操作时,其它线程必须等待它完成之后才能开始执行该原子操作,Windows系统为我们提供了一些以Interlocked开头的函数来完成这一任务

C/C++语言中一条简单的自增语句其实是由三条汇编代码组成的,因此无法保证原子性。可用InterlockedIncrement 替代。

posted @ 2013-07-25 14:13  zwhxz  阅读(154)  评论(0编辑  收藏  举报