草庐IT

Async-await

全部标签

ios - dispatch_async 和异步请求的问题

那么第一个问题就是dispatch_async是如何决定使用哪个线程的呢?只是随机选择它?我需要做一些解析和核心数据的事情,所以我不想阻塞UI线程并使用dispatch_async,但在那之后我发送一个NSURLRequest来获取更多数据和回调永远不会被调用(可能是因为线程已经死了)。那么制作它的好方法是什么?而且我不能使用sendAsynchronousRequest:queue:completionHandler:因为部署操作系统是4.现在我只是在里面发送请求dispatch_async(dispatch_get_main_queue(),^{});在dispatch_async

ios - Xcode 断点在 dispatch_async block 内不起作用

我们的团队非常需要一些帮助来解决我们面临的以下问题,因为它阻止我们调试dispatch_asyncblock中的某些代码。希望我能得到一些关于下一步该做什么的帮助或建议。我们遇到的问题如下:我们最近遇到了一个奇怪的问题,在Xcode6中,我们无法在dispatch_asyncblock内中断。-(void)viewDidLoad{dispatch_queue_tqueue=dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH,0ul);dispatch_async(queue,^{BOOLsetRtn=TRUE;//发生的情况是,

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

Spring之异步任务@Async详解分析

1异步@Async详解1.1引言在java中异步线程很重要,比如在业务流处理时,需要通知硬件设备,发短信通知用户,或者需要上传一些图片资源到其他服务器这种耗时的操作,在主线程里处理会阻塞整理流程,而且我们也不需要等待处理结果之后再进行下一步操作,这时候就可以使用异步线程进行处理,这样主线程不会因为这些耗时的操作而阻塞,保证主线程的流程可以正常进行。最近在项目中使用了很多线程的操作,在这做个记录1.2异步说明和原理使用地方说明:在方法上使用该@Async注解,申明该方法是一个异步任务;在类上面使用该@Async注解,申明该类中的所有方法都是异步任务;使用此注解的方法的类对象,必须是spring管

c# - 取消不接受 CancellationToken 的异步操作的正确方法是什么?

取消下面的正确方法是什么?vartcpListener=newTcpListener(connection);tcpListener.Start();varclient=awaittcpListener.AcceptTcpClientAsync();简单地调用tcpListener.Stop()似乎会导致ObjectDisposedException而AcceptTcpClientAsync方法不接受CancellationToken结构。我是否完全遗漏了一些明显的东西? 最佳答案 假设您不想调用Stopmethod在TcpList

c# - 服务器和客户端之间通过TCP异步传输数据

我有一个问题:服务器没有从客户端接收到任何数据。这是服务器初始化:publicvoidStart(){varlistener=newTcpListener(IPAddress.Any,Port);listener.Start();Task.Run(async()=>{while(!this.cancellationToken.IsCancellationRequested){varclient=awaitlistener.AcceptTcpClientAsync();varstream=client.GetStream();stringrequest=awaitReceiveReque

c# - 异步 TCP 操作期间的 AccessViolation

在各种异步TCP操作期间,我不断收到未处理的AccessViolationException。该异常仅出现在内置函数的反汇编窗口中System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32errorCode,UInt32numBytes,NativeOverlapped*pOVERLAP)。异常的堆栈跟踪仅包含此函数。流水线是:cmpdwordptr[ecx],ecx.最烦人的是异常不规则地到达(程序可以在它之前执行30分钟或6小时或15秒)。这里是完整的异常描述:System.AccessViol

string - async_ read_until 没有按预期工作

所以我正在尝试编写一个程序,通过tcp套接字读取和写入数据。我可以成功地接受一个连接,向它写入数据(尽管写处理程序没有按预期工作?)。我还想通过同一个套接字读取数据——这似乎不起作用。处理这一切的类如下:usingnamespaceboost::asio;usingnamespaceboost::asio::ip;TcpServer::TcpServer(unsignedshortport=1700):ipPort(port){tcp::acceptoracc(svc,tcp::endpoint(tcp::v4(),ipPort));acc.listen();acc.async_acc

c++ - 在 async_read 处理程序在服务器中返回错误后调用 boost::asio::tcp::socket 方法

对于日志输出,我正在调用tcp::socket::remote_endpoint()来自shared_ptrSessionSession时的对象创建和销毁的时间。如果async_read被调用并且客户端在服务器发送回复之前发送了一个FIN,然后在服务器发送回复之后发送了一个RST数据包(write不返回任何错误),async_read函数返回错误代码system::54(not_connected-带有“连接由对等方重置”的消息),然后当我再次调用remote_endpoint方法时(在Session对象析构函数中)它抛出异常:libc++abi.dylib:terminatingwi

c++ - async_resolve 的 boost::asio::ip::tcp::resolver::iterator 的生命周期是多少?

当我调用boost::asio::ip::tcp::resolver::async_resolve时,我的处理程序收到一个ip::tcp::resolver::iterator迭代一个或多个ip::tcp::resolver::entries。他们的生命周期是多少,让他们活着的把柄是什么?例如,如果我得到第一个entry并向它启动一个tcp::async_connect,那么在async_connect处理程序中,可以我迭代到下一个entry并启动另一个async_connect到下一个条目(只要我将iterator传递给async_connect处理程序,当然)?什么时候清理reso