windows编程学习

1.多线程同步的方法

a)entercirticalsection leaveciriticalsection

b)Mutex互斥对象 waitforsingleobject releasemutex使用方法和上面一个类似

c)createevent waitforsingleobject setevent使event对象变为受信状态 resetevent使event对象变未受信状态,通过这两种的设置来控制那些等街待这个event对象的线程的执行

d)semophore和以上几种单一入口控制不同,semophore是对多个并行入口进行控制,当这多个入口都被占用的时侯,semophore对象才变为阻滞状态,因此线程一旦处理完相关任务要记得调用releasesemophore来释放资源

e)waitformultiobject等待多个内核对象,只用这多个内核对象都变为受信状态,后续的代码才可以被执行。

2.关于线程局部存储

每个线程都有自己的数组,最大长度是1000

每次tlsalloc找到一个可用index然后返回,然后进程中的各个线程都可以以这个index参数来调用tlsgetvalue or tlssetvalue来读写相应index的数组元素,虽然线程都可以以相同的index作为参数,但这并不会冲突,因为它们都只操作本线程相关的数组

不通过tlsalloc提供的索引tlssetvalue一样可以设置各自数组中特定index的数组项的值

windows编程学习

上一篇:使用Windows Live Writer写文章时不要用360清除垃圾


下一篇:动态加载Layout 与 论Activity、 Window、View的关系