使用sleep实现的简单进程同步
Posted 617-328buaa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用sleep实现的简单进程同步相关的知识,希望对你有一定的参考价值。
https://blog.csdn.net/qq_29542611/article/details/79662018
代码很简单,如下。但是也有坑!在给线程传参数的不能穿 循环遍历i 的 地址,因为 i 在主线程中 ,被多个线程共享,所以不是唯一的。那么如何让每个线程 都有独自拥有自己的顺序编号呢?
1.方法一:当然可以在堆上开辟空间存储顺序编号呗。自己有自己的顺序编号的空间各自独立。
2.方法二:就是参数是void* 可以直接将循环变量i直接传给void* ,由于 arg 是每个线程 栈空间上的变量 故此 属于各个子线程,然后在使用的时候强转回 int,因为void* 和 int 刚好 都是4字节,这样做是安全的。
黑马程序员的《linux系统编程》上也都是方法2的传参方法,但博主的解释并没有看懂。
以上是关于使用sleep实现的简单进程同步的主要内容,如果未能解决你的问题,请参考以下文章