我这个磁盘已被锁定是无锁的吗

这会儿估计全在结算跟黄牛抢首发 iPhone 6S 的战果呢,不知道有几位锋友赢得了胜利,...
总有一天,包括 iPhone 在内的智能手机都会被时代所淘汰,你认为会是多久?
一年一度的日系游戏狂欢派对——TGS2015东京电玩展即将开幕,威锋网将抵达前方为大家...
现在 Mac 仍然扮演着一个重要的角色,这就是充当智能手机和平板的桥梁,允许用户自由...
果然,还是有人来问这个问题了。如果以后别人问你,iPhone 6s 的 3D Touch 和安卓手机...
曾经我们都为Lightning接口的前途捏了一把汗,如今看苹果好像并没有要淘汰的意思。
不少锋友表示,好不容易进入了苹果官网,结果大举支付过后(甚至有土豪连续支付好几次)...
究竟谁才是未来可穿戴设备的霸主,也许现在无法预测,但数据至少可以给我们很多提示。
堪称力量比拼的橄榄球运动一直以来就是移动游戏开发商热衷的题材,Hothead Games 旗下...
对于游戏开发商Get Set Games可能还有的玩家会觉得比较陌生,但是只要提到他们所制作...
要说经典的国产端游,那么网易旗下的《大话西游》我想早已深深烙在了同学们的心中,继...
跑酷游戏一直是移动平台当中的常客,也不知道是什么原因,让游戏开发商们都不约而同的...
这一次肖恩要和小伙伴们在农场当中体验高尔夫球运动的乐趣,游戏采用了与动画作品一样...
游戏当中玩家需要控制一个可以移动的炮台消灭从四面八方向玩家涌来的敌人,当玩家消灭...
在《奔跑吧虫虫》这款游戏中,你将代表统治地下王国千年之久的虫虫而战。
虽然新 iPhone 更厚、更重了,但官网更新硅胶和皮革保护套是同时兼容 iPhone 6s 和 iP...
iPhone 新基座开箱,四个颜色可选,买一个来配 iPhone 吗?
Fusion Guitar,号称是世界上第一把集扬声器、扩音器及录音功能于一体的iPhone一体化...
继日前罗技宣布首款针对iPad Pro的第三方键盘Create之后,今天配件厂商Zagg透露将推出...
用这个控制器在iPhone 6s上玩最终幻想或者赛车游戏,感觉一定非常的棒~最主要颜值也好...
你以为比Big更Big的是iPhone?!no~~no~~no~~极米300寸巨幕无屏电视,分分钟碾压你的...
当然是涨价啦,新的配色与 iPhone 6s 四色同款,所以想搭配新手机的话就要加钱了,不...
为平板配备专属键盘,也许你会第一时间想到微软的Surface,现在苹果也有了,它到底是...
帮俺看下我的这个是什么版的,有锁还是无锁的,
注册时间 最后登录
在线时间1020 小时 UID
主题帖子人气
红苹果, 积分 256, 距离下一级还需 244 积分
型号:MC637B,序列为:8504964UEDG,帮我看下是什么版的,有锁还是无锁的
注册时间 最后登录
在线时间1020 小时 UID
主题帖子人气
有高手帮忙解答一下吗
注册时间 最后登录
在线时间1524 小时 UID
主题帖子人气
到官方去查上市地,有没有锁看看就知道
威锋旗下产品
Hi~我是威威!
沪ICP备号-1 丨 深公安网监备案号 5
增值电信业务经营许可证:
Powered by Discuz!新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
UID空间积分0 积分16阅读权限10帖子精华可用积分16 信誉积分168 专家积分0 在线时间91 小时注册时间最后登录
白手起家, 积分 16, 距离下一级还需 184 积分
帖子主题精华可用积分16 信誉积分168 专家积分0 在线时间91 小时注册时间最后登录
论坛徽章:0
本帖最后由 finyren 于
12:09 编辑
* Copyright (c) 2013, zylthinking
* All rights reserved.
* Redistribution and use in source and binary forms, with or without modification,
* are permitted provided that the following conditions are met:
* 1. Redistributions of source code must retain the above copyright notice,
*& & this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
*& & this list of conditions and the following disclaimer in the documentation and/or
*& & other materials provided with the distribution.
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS &AS IS&
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
* IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
* OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#ifndef lkf_h
#define lkf_h
struct lkf_node {
& & struct lkf_node*
};
struct lkf_list {
& & struct lkf_
& & struct lkf_node**
};
#define LKF_INIT(name) {.root = {NULL}, .tail = &(name.root.next)}
#define LKF_LIST(name) \
struct lkf_list name = LKF_INIT(name)
#define INIT_LKF(name) \
do { \
& & name-&root.next = NULL; \
& & name-&tail = &(name-&root.next); \
} while (0)
static inline void lkf_node_put(struct lkf_list* list, struct lkf_node* node)
{
& & struct lkf_node** ptr = __sync_lock_test_and_set(&(list-&tail), &(node-&next));
& & *ptr =
}
static inline struct lkf_node* lkf_node_get_one(struct lkf_list* list)
{
& & struct lkf_node* head = __sync_lock_test_and_set(&(list-&root.next), NULL);
& & if (head == NULL) {
& && &&&return NULL;
& & }
& & struct lkf_node* next = head-&
& & if (next != NULL) {
& && &&&list-&root.next =
& && &&&head-&next =
& && &&&
& & }
& & int b = __sync_bool_compare_and_swap(&(list-&tail), &(head-&next), &(list-&root.next));
& & if (b) {
& && &&&head-&next =
& && &&&
& & }
& & list-&root.next =
& & return NULL;
}
static inline struct lkf_node* lkf_node_get(struct lkf_list* list)
{
& & struct lkf_node* ptr = __sync_lock_test_and_set(&(list-&root.next), NULL);
& & if (ptr == NULL) {
& && &&&return NULL;
& & }
& & struct lkf_node** last = __sync_lock_test_and_set(&(list-&tail), &(list-&root.next));
& & *last =
& & return *
}
static inline struct lkf_node* lkf_node_next(struct lkf_node* node)
{
& & struct lkf_node* ptr = node-&
& & if (ptr == NULL || ptr-&next == NULL) {
& && &&&return NULL;
& & }
& & if (ptr == node) {
& && &&&
& & }
& & node-&next = ptr-&
& & ptr-&next = NULL;
& &
}
#endif复制代码以下是测试代码#define _GNU_SOURCE
#include &stdlib.h&
#include &unistd.h&
#include &stdio.h&
#include &pthread.h&
#include &lkf.h&
static LKF_LIST(list);
#define nrp 1000
#define nrt 500
static int run = 0;
static struct lkf_node* pool = NULL;
static int indx = 0;
static int nr = 0;
void* writer(void* any)
{
& & while (run == 0) {
& && &&&usleep(100);
& & }
& & for (int i = 0; i & ++i) {
& && &&&int idx = __sync_fetch_and_add(&indx, 1);
& && &&&struct lkf_node* nodep = &pool[idx];
& && &&&nodep-&next = NULL;
& && &&&lkf_node_put(&list, nodep);
& & }
& & __sync_sub_and_fetch(&run, 1);
& & printf(&writer exits\n&);
& & return NULL;
}
void* reader(void* any)
{
& & while (run == 0) {
& && &&&usleep(100);
& & }
& & while (nr & 0) {
& && &&&struct lkf_node* nodep = lkf_node_get(&list);
& && &&&if (nodep == NULL) {
& && && && &
& && &&&}
& && &&&__sync_sub_and_fetch(&nr, 1);
& && &&&struct lkf_node* cur = NULL;
& && &&&do {
& && && && &cur = lkf_node_next(nodep);
& && && && &if (cur == nodep) {
& && && && && &
& && && && &}
& && && && &if (cur != NULL) {
& && && && && & __sync_sub_and_fetch(&nr, 1);
& && && && &}
& && &&&} while (1);
& & }
& & printf(&reader exit\n&);
& & return NULL;
}
void* reader2(void* any)
{
& & while (run == 0) {
& && &&&usleep(100);
& & }
& & while (nr & 0) {
& && &&&struct lkf_node* nodep = lkf_node_get_one(&list);
& && &&&if (nodep == NULL) {
& && && && &
& && &&&}
& && &&&__sync_sub_and_fetch(&nr, 1);
& & }
& & printf(&reader2 exit\n&);
& & return NULL;
}
int main(int argc, char** argv)
{
& & int n = 0;
& & for (int i = 0; i & ++i) {
& && &&&pthread_
& && &&&if(0 == pthread_create(&tid, NULL, writer, NULL)) {
& && && && &++n;
& && && && &pthread_detach(tid);
& && &&&}
& & }
& & nr = nrp *
& & pool = (struct lkf_node *) malloc(sizeof(struct lkf_node) * nr);
& & if (pool == 0) {
& && &&&printf(&memory\n&);
& && &&&return 0;
& & }
& & int readers = 0;
& & for (int i = 0; i & 500; ++i) {
& && &&&pthread_
& && &&&if(0 == pthread_create(&tid, NULL, reader2, NULL)) {
& && && && &++
& && && && &pthread_detach(tid);
& && &&&}
& & }
& & printf(&run = %d\n&, run);
& & printf(&%d writer, %d reader, nr = %d\n&, n, readers + 1, nr);
& & run =
& & time_t t1 = time(0);
& & if (nr & 0) {
& && &&&//reader(0);
& & }
& & while (1) {
& && &&&usleep(10);
& && &&&struct lkf_node* nodep = 0;//lkf_node_get(&list);
& && &&&time_t t2 = time(0);
& && &&&if (t2 & t1 + 3) {
& && && && &printf(&%d %d %p\n&, nr, indx, nodep);
& && && && &t1 = t2;
& && &&&}
& & }
& & return 0;
}复制代码
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
UID空间积分0 积分32210阅读权限90帖子精华可用积分32210 信誉积分3902 专家积分302 在线时间15566 小时注册时间最后登录
巨富豪门, 积分 32210, 距离下一级还需 7790 积分
帖子主题精华可用积分32210 信誉积分3902 专家积分302 在线时间15566 小时注册时间最后登录
认证徽章论坛徽章:149
钱钱钱钱钱钱钱
UID空间积分0 积分1484阅读权限30帖子精华可用积分1496 信誉积分2355 专家积分0 在线时间1645 小时注册时间最后登录
家境小康, 积分 1484, 距离下一级还需 516 积分
帖子主题精华可用积分1496 信誉积分2355 专家积分0 在线时间1645 小时注册时间最后登录
论坛徽章:4
给你个简短的测试代码吧#include &stdio.h&
#include &pthread.h&
#include &stdlib.h&
static int count = 0;
void *test_func(void *arg)
{
& && &&&int i=0;
& && &&&for(i=0;i&20000;++i){
& && && && && & __sync_fetch_and_add(&count,1);
& && &&&}
& && &&&return NULL;
}
int main(int argc, const char *argv[])
{
& && &&&pthread_t id[20];
& && &&&int i = 0;
& && &&&for(i=0;i&20;++i){
& && && && && & pthread_create(&id[i],NULL,test_func,NULL);
& && &&&}
& && &&&for(i=0;i&20;++i){
& && && && && & pthread_join(id[i],NULL);
& && &&&}
& && &&&printf(&%d\n&,count);
& && &&&return 0;
}复制代码
UID空间积分0 积分1484阅读权限30帖子精华可用积分1496 信誉积分2355 专家积分0 在线时间1645 小时注册时间最后登录
家境小康, 积分 1484, 距离下一级还需 516 积分
帖子主题精华可用积分1496 信誉积分2355 专家积分0 在线时间1645 小时注册时间最后登录
论坛徽章:4
加菲猫也是猫
UID空间积分0 积分17429阅读权限90帖子精华可用积分17429 信誉积分2802 专家积分0 在线时间6031 小时注册时间最后登录
大富大贵, 积分 17429, 距离下一级还需 2571 积分
帖子主题精华可用积分17429 信誉积分2802 专家积分0 在线时间6031 小时注册时间最后登录
认证徽章论坛徽章:64
无锁链表安全吗??
上海求职要饭,linux mysql cpp php 方向的都可以,希望能兼顾养老需求
UID空间积分0 积分4797阅读权限50帖子精华可用积分4797 信誉积分1225 专家积分54 在线时间1346 小时注册时间最后登录
小富即安, 积分 4797, 距离下一级还需 203 积分
帖子主题精华可用积分4797 信誉积分1225 专家积分54 在线时间1346 小时注册时间最后登录
认证徽章论坛徽章:2
据说,原子操作在大量并发的情况下对整个系统的运行效率影响非常大。不知是真是假。
UID空间积分0 积分3019阅读权限50帖子精华可用积分3019 信誉积分2607 专家积分0 在线时间5813 小时注册时间最后登录
小富即安, 积分 3019, 距离下一级还需 1981 积分
帖子主题精华可用积分3019 信誉积分2607 专家积分0 在线时间5813 小时注册时间最后登录
论坛徽章:12
cobras 发表于
据说,原子操作在大量并发的情况下对整个系统的运行效率影响非常大。不知是真是假。
原子操作就是实现锁的基本工具。楼主贴的代码,实际是实现了自旋锁。我见过几乎所有的所谓“无锁”数据结构,都不过
是自己实现了自旋锁。
自旋锁在无法取得锁的时候会忙等,冲突几率大的时候白白消耗CPU。
UID7190305空间积分0 积分18052阅读权限90帖子精华可用积分18052 信誉积分2340 专家积分40 在线时间4203 小时注册时间最后登录
大富大贵, 积分 18052, 距离下一级还需 1948 积分
帖子主题精华可用积分18052 信誉积分2340 专家积分40 在线时间4203 小时注册时间最后登录
论坛徽章:7
zhaohongjian000 发表于
原子操作就是实现锁的基本工具。楼主贴的代码,实际是实现了自旋锁。我见过几乎所有的所谓“无锁”数据 ...
我可没有自旋啊, 我只不过返回空, 你愿不愿意自旋, 就看你愿不愿意接着再调用一次了; 和我有什么关系, 你自己去干其他的我也没有拦着你啊
这玩意最大的毛病在于读 lkf_get_one 的时候实际是单线程的, 而且, 似乎可以实现的更好些, 但当时脑子一根筋了
授我以鱼, 不要授我以渔
UID空间积分0 积分3019阅读权限50帖子精华可用积分3019 信誉积分2607 专家积分0 在线时间5813 小时注册时间最后登录
小富即安, 积分 3019, 距离下一级还需 1981 积分
帖子主题精华可用积分3019 信誉积分2607 专家积分0 在线时间5813 小时注册时间最后登录
论坛徽章:12
zylthinking 发表于
我可没有自旋啊, 我只不过返回空, 你愿不愿意自旋, 就看你愿不愿意接着再调用一次了; 和我有什么关 ...
自旋锁也可以trylock呀,比如pthread_spin_trylock。当然,trylock就不是忙等了。
UID7190305空间积分0 积分18052阅读权限90帖子精华可用积分18052 信誉积分2340 专家积分40 在线时间4203 小时注册时间最后登录
大富大贵, 积分 18052, 距离下一级还需 1948 积分
帖子主题精华可用积分18052 信誉积分2340 专家积分40 在线时间4203 小时注册时间最后登录
论坛徽章:7
本帖最后由 zylthinking 于
17:08 编辑
zhaohongjian000 发表于
自旋锁也可以trylock呀,比如pthread_spin_trylock。当然,trylock就不是忙等了。
那你干脆说所有的无锁结构不过都实现了锁得了, 反正就算是 mutex, 还有 pthread_mutex_try_lock 呢;
可以用 spin_lock  实现 读、写 不互斥?&&
授我以鱼, 不要授我以渔
北京皓辰网域网络信息技术有限公司. 版权所有 京ICP证:060528号 北京市公安局海淀分局网监中心备案编号:
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处请问各位大神,我这是什么版的手机?是无锁还是有锁?支持移动4G吗?谢谢!_百度知道
运营商定制版,至少支持联通的4G。
其他类似问题
为您推荐:
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁谁能帮我查查这个序列号t的信息。能看出有锁无锁是韩版吗_iphone4吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:404,864贴子:
谁能帮我查查这个序列号t的信息。能看出有锁无锁是韩版吗收藏
谁能帮我查查这个序列号t的信息。能看出有锁无锁是韩版还是什么版吗。求解。谢谢
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或我在中关村看到无锁美版iphone4 只要价格是3800 这个价格对不对?_百度知道
我在中关村看到无锁美版iphone4 只要价格是3800 这个价格对不对?
美版有无锁么我印象里美版都是有锁,说无锁可能是软解了你加个两三百就可以买真无锁了,不推荐
其他类似问题
为您推荐:
其他3条回答
无锁美版 4.01固件配的基带当时可以软解。。。美版都有锁 如果说无锁 看下没卡贴 还能打电话 必定翻新
别听他们乱说,我姐姐刚从美国给我带回来一个美版无锁的iphone4,型号是MC603LL/A,苹果在美国早就出无锁机了,就是价格贵点,要600美金。其实你去网上查下就知道了,美版无锁机的型号分别是603.604.605.606,对应的是16G黑,16G白,32G黑,32G白。
差不多这个价格的。可以M我Q
您可能关注的推广回答者:
美版iphone4的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁

我要回帖

更多关于 mac 这个磁盘已被锁定 的文章

 

随机推荐