首页 > 代码库 > windows编程学习
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编程学习
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。