有两种办法:
重载一个queue模板,把锁封装到重载的函数里
每次使用queue的函数的时亩誉候加迅粗段锁,使凳蔽用完毕后,解锁
一般情况下袭悔扒是做不到的!从文件本身拍昌角度是无法实现加锁的!
只能从应用程序角度去加锁,如:在C程序中进行加锁和锁检查,当然,可以不是真正意义上的锁(否则shell无法识别)。前桐 同时,在shell进程中进行加锁的锁检查!
这个睁贺可答早模以模拟那种拨码形式的清缓密码锁方式来设计,比如OFO共享单车的拨码方式。#include<reg51.h>
#define uchar unsigned char
uchar mima[4]={1,2,3,4}
uchar keymm[4]={0,0,0,0}
sbit key1=P1^0
sbit key2=P1^1
sbit key3=P1^2
sbit key4=P1^3
sbit led=P1^4
bit flag=0
void delay(uchar a)
{
uchar i
while(a--)for(i=0i<120i++)
}
main()
{
uchar i
led=1
while(1)
{
if(key1==0)
{
while(key1==0)
keymm[0]++
keymm[0]%=10
}
if(key2==0)
{
while(key2==0)
keymm[1]++
keymm[1]%=10
}
if(key3==0)
{
while(key3==0)
keymm[2]++
keymm[2]%=10
}
if(key4==0)
{
while(key4==0)
keymm[3]++
keymm[3]%=10
}
for(i=0i<4i++)
{
if(keymm[i]!=mima[i])break
if(i==3)flag=1
}
if(flag)
{
i=10
while(i--)
{
led=~led
delay(100)
}
flag=0
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)