Semaphore 怎么实现资源的有序访问

Semaphore 怎么实现有序访问啊,比如线程1访问完,执行到某一步了,线程2才可以访问。直接用 Release和WaitOne实现不了啊。比如线程1访问5次了,线程2才访问一次。谢谢大家啦

用synchronized锁一个变量作为计数器,线程1每次执行+1,线程2每次执行-·1,线程1判断这个值为0的时候才执行,否则等待。线程2判断必须为1才执行,否则等待。

可以将一组有序操作放在Semaphore信号量之后,只有获取信号量之后才能进行,使用完成后释放信号量。
可以参考:http://blog.csdn.net/wojiushiwo945you/article/details/41944769

信号量初始值为0,启动线程1和2,关键让线程2 wait。然后在线程1中执行完指定次数了在signal信号量。

能麻烦各位大侠写个小例子吗,谢谢各位了。新学新用的多线程,好多地方不太明白

顶下啊,我试下。没成功啊