码迷,mamicode.com
首页 > 系统相关 > 详细

使用sleep实现的简单进程同步

时间:2019-07-10 18:43:11      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:oid   实现   多个   变量   编号   https   代码   系统   简单   

https://blog.csdn.net/qq_29542611/article/details/79662018

代码很简单,如下。但是也有坑!在给线程传参数的不能穿 循环遍历i 的 地址,因为 i 在主线程中 ,被多个线程共享,所以不是唯一的。那么如何让每个线程 都有独自拥有自己的顺序编号呢?

1.方法一:当然可以在堆上开辟空间存储顺序编号呗。自己有自己的顺序编号的空间各自独立。

2.方法二:就是参数是void* 可以直接将循环变量i直接传给void* ,由于 arg 是每个线程 栈空间上的变量 故此 属于各个子线程,然后在使用的时候强转回 int,因为void* 和 int 刚好 都是4字节,这样做是安全的。

 

黑马程序员的《linux系统编程》上也都是方法2的传参方法,但博主的解释并没有看懂。

使用sleep实现的简单进程同步

标签:oid   实现   多个   变量   编号   https   代码   系统   简单   

原文地址:https://www.cnblogs.com/617-328buaa/p/10909200.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!