草庐IT

double-dispatch

全部标签

ios - 无形的执行顺序(dispatch_semaphore_t、dispatch_group_async)以及它们与不同调度队列类型的结合使用

我只是在晚上花了一些时间来研究GCD,尤其是dispatch_semaphore_t,因为我从未使用过它。从来不需要。所以我写了下面的作为测试:-(void)viewDidLoad{UIView*firstView=[[UIViewalloc]initWithFrame:(CGRect){{0,0},self.view.frame.size.width/4,self.view.frame.size.width/5}];firstView.backgroundColor=[UIColorpurpleColor];[self.viewaddSubview:firstView];dispat

ios - dispatch_queue_set_specific 与获取当前队列

我试图弄清楚这两者之间的区别和用法:staticvoid*myFirstQueue="firstThread";dispatch_queue_tfirstQueue=dispatch_queue_create("com.year.new.happy",DISPATCH_QUEUE_CONCURRENT);dispatch_queue_set_specific(firstQueue,myFirstQueue,(void*)myFirstQueue,NULL);问题#1这有什么区别:dispatch_sync(firstQueue,^{if(dispatch_get_specific(my

ios - 通过示例了解何时使用 dispatch_get_main_queue 和 requiresMainQueueSetup

前一段时间我在这里问过类似的问题:DifferencerequiresMainQueueSetupanddispatch_get_main_queue?我今天回过头来发现我还没有完全掌握它。当我们为iOS编写ReactNative模块时,iOS端有dispatch_get_main_queue并且react-native需要requiresMainQueueSetup。对于以下包和用例,应该如何使用其中的哪一个?asq-react-native-device-导出包ID等常量的包asq-react-native-sensors-允许从设备陀螺仪和其他传感器订阅和接收数据的包asq-re

iphone - double 中的 objective-c stringvalue

我有以下代码:doubled1=12.123456789012345;NSString*test1=[NSStringstringWithFormat:@"%f",d1];//stringis:12.123457NSString*test1=[NSStringstringWithFormat:@"%g",d1];//stringis:12.1235如何获取与d1完全相同的字符串值? 最佳答案 Apple的StringFormatSpecifiers指南可能会对您有所帮助.%f64-bitfloating-pointnumber%g6

objective-c - 具有回调方法的 IOS Grand Central Dispatch

我没有在我的应用程序中使用GCD或太多线程,但我遇到过需要在另一个线程上运行一两个方法的情况。此方法完成后,我需要使用回调中的主线程调用另一个方法。我一直在四处寻找如何检测线程何时完成操作但仍然不太清楚这个问题。我创建了一个测试应用程序,并使用了viewDidLoad方法作为一个快速示例。-(void)viewDidLoad{[superviewDidLoad];//Doanyadditionalsetupafterloadingtheview,typicallyfromanib.dispatch_async(dispatch_get_global_queue(DISPATCH_QUE

ios - 如何将 dispatch_data_t 转换为 NSData?

这是正确的方法吗?//convertconstvoid*buffer=NULL;size_tsize=0;dispatch_data_tnew_data_file=dispatch_data_create_map(data,&buffer,&size);if(new_data_file){/*toavoidwarningreally-sincedispatch_data_create_mapdemandswecareaboutthereturnarg*/}NSData*nsdata=[[NSDataalloc]initWithBytes:bufferlength:size];//use

tcp - 如何使用 openresty lua 中的第一个字节内容将 tcp 请求分派(dispatch)到后端

我已经启动了一个带有一个tcp服务器和两个后端的openresty。tcp服务器根据来自tcp流的内容将请求分派(dispatch)给后端。以下是openresty配置示例:stream{#defineaTCPserverlisteningontheport1234:upstreambackend1{server172.17.0.1:8081;}upstreambackend2{server172.17.0.1:8082;}server{listen1234;content_by_lua_block{localsock=ngx.req.socket(true)--reveivefirs

C# 对象类型转换为 byte[],通过 TCP 发送并转换回 double

我是C#编程的新手,通常处理PLC编程和HMI/SCADA系统开发。最后一个只涉及一些奇怪的C/VBS脚本。最近,在我的一个项目中,我将最初在LabVIEW中开发的SCADA系统升级/迁移到西门子WinCC应用程序。在LabVIEW项目中,有一部分负责通过TCP套接字将标签值(双值与标签名称捆绑在一起并转换为字符串)发送到另一台运行C#应用程序(TCP客户端)的PC,该应用程序正在接收字节数组并将其转换为双重值(value)。LabVIEWTCPServerExample以及在另一台PC上运行的TCPClient的部分代码。TcpClient_client;NetworkStream_

swift - “import UIKit”导致 Double-to-Int 的转换错误消失。为什么 ?

我是Swift初学者,我有一个问题。我在Xcode6-Beta3中创建了一个新的playground文件,并删除了所有默认片段自动生成。我写了以下只有一行,varx:Int=(1.234asInt)然后,这一行导致编译错误,并显示消息Playgroundexecutionfailed:error::1:20:error:'Double'isnotconvertibleto'Int'varx:Int=(1.234asInt)^在控制台输出中。我能理解这个错误,因为1.234不能转换为Int。接下来,我在varx:Int=(1.234asInt)之前又加了一行importUIKit,所以代

swift - 使用 dispatch_after swift 延迟 'glitch'

目前我有一个延时函数如下://Delayfunctionfromhttp://stackoverflow.com/questions/24034544/dispatch-after-gcd-in-swift/24318861#24318861funcdelay(delay:Double,closure:()->()){dispatch_after(dispatch_time(DISPATCH_TIME_NOW,Int64(delay*Double(NSEC_PER_SEC))),dispatch_get_main_queue(),closure)}此代码可满足我的需要,但一旦延迟超过1