有这么一个需要,分别执行2个耗时的异步操作,等2个异步操作都执行完毕后在回到主线程执行操作。如果想要快速高效地实现这个需求,可以考虑使用调度组。 调度组的创建代码如下: 1. dispatch_group_t group = dispatch_group_create(); 往调度组里面添加任务的函数如下: 1. dispatch_group_async(dispatch_gro
转载 2023-07-25 09:37:29
96阅读
作者:项望烽,毕业于浙江大学,目前是网易云信 iOS 端研发负责人。 前言 App发布后收到了很多关于网络传输慢和连接有问题的反馈,吓得本吊直接从广州跑到杭州救急,针对各方面的问题都做了不同程度的调整和改进,效果还不错。顺带自己最近也在看《Professional iOS Network Programming》,理论结合实践,可以好好地总结一把App在移动网络下的调优的那些事。 相对于
转载 2024-01-21 08:26:11
45阅读
线程名称获取取得JVM中正在执行的线程对象public static native Thread currentThread();线程名称的命名与取得 线程创建建议设置一个简明思意的名称(表示线程功能)//两种方式 public Thread (Runnable target,String name){} public Thread synchronized void setName (S
转载 2023-08-14 20:17:26
36阅读
随着软件开发技术的不断发展和完善,有众多同类选择的APP用户越来越挑剔,单单拼功能拼硬件已经不足以捕获用户芳心。在APP使用过程中,大部分用户无意识地培养出了对使用体验的重视感。这警醒企业,只盯着为用户解决问题的路子已显狭窄,同时做好用户体验才能获取用户。因此,迈集科技总结出十大要点,跟大家一起探讨如何完善用户体验。1、分层界面设计如同我们所知道的那样,移动设备的屏幕不够大,不能够提供PC端那种全
IT数码科技  ID:ShuMaKJ  提供数码科技信息,涵盖新潮数码产品、笔记本电脑、办公用品、摄像器材等IT系列产品资讯。 “ 苹果提升电池容量 ”  苹果爆料大神郭明錤(Ming-Chi Kuo)给出消息称,苹果的下一代iPhone将配备更大的电池,以支持iPhone能有效地兼做无线充电器。具体来说,iPhone XS升级
苹果公司作为一家高科技公司,在全球范围内拥有极高的知名度和人气,其旗下产品包括iPad、iPhone、Mac、iPod、Watch、AirPods等。其中,iPhone作为苹果公司的明星产品之一,在全球销量位居前列。对于iPhone用户来说,除了常用的功能,还有一些设置可能很容易被忽略,但是实际上这些设置的打开与否,直接影响到我们使用体验的好坏。  首先,打开“查找我的iPho
转载 2023-08-12 17:37:19
276阅读
讨论IOS开发以及自己的经验1. 基础知识基础知识有时在开发中不怎常用,理由是现在有很多三方工具,比如网络AFN,数据库FMDB(当然有直接存储模型model的工具)等等。快速开发中基本不怎么常用。 但是在一些大公司基础知识比较重要,不用这些三方工具,都是分装自己的轮子上传到git上,然后用cocoapod管理,这样的话就很重要了,对基础知识要求很严格,比如:网络底层累NSUrlSession,
转载 2024-01-06 08:43:22
84阅读
120G全新全套iOS2016年学习视频,免费送!获取资源在应用开发过
转载 2023-01-12 13:07:54
1059阅读
## Android iOS 技术提升 ### 整件事情的流程 | 步骤 | 描述 | | ---- | ---- | | 1 | 确定学习目标 | | 2 | 学习资料收集 | | 3 | 学习资料整理 | | 4 | 实践项目 | | 5 | 反思总结 | ### 每一步需要做什么 #### 1. 确定学习目标 在这一步,你需要确定你想要提升的Android和iOS技术方向。例如,你可
原创 2023-10-25 16:09:24
33阅读
Jmeter线程线程数——Number of Threads(users)启动时间(以秒计)——Ramp-up period(seconds)设定此时间时还要考虑线程自身的运行时间循环次数Loop Count勾选Infinite,配合下方的Duration(Seconds)不勾选Infinite,在同行后面的输入框输入循环次数,不填写下方的Duration(Seconds)不勾选Infinit
iOS中开启线程有三种方式NSThread,GCD,NSOperation其实还有一种,pthread ,只是这种太古老了,用起来难度大,所以被忽略了1.NSThread开线程方式://打开一个线程 -(void)newThread{ //方式1: //withObject 参数,即run 方法的参数 //[self performSelectorInBackgroun
转载 2024-03-14 07:36:31
51阅读
#1、iOS中的多线程: 首先明白进程的概念:正在进行中的程序被称为进程,负责程序运行的内存分配,每个进程都有自己独立的虚拟内存空间。 线程是进程中一个独立的执行路径(控制单元),一个进程至少包含一条线程,即主线程;可以将耗时的执行路径(如网络请求)放在其他线程中执行;线程不能被杀掉,但可以暂停/休眠一条线程。##1.1、创建线程的目的:开启一条新的执行路径,运行指定的代码,与主线程中的代码实现同
转载 2023-09-07 05:55:51
46阅读
NSThread平时常用来获取当前线程和主线程// 获得主线程 + (NSThread *)mainThread; + (NSThread *)currentThread;启动线程方法- (void)start; // 线程进入就绪状态 -> 运行状态。当线程任务执行完毕,自动进入死亡状态阻塞(暂停)线程方法+ (void)sleepUntilDate:(NSDate *)date;
转载 2023-11-30 09:45:53
65阅读
一、NSThread1.线程阻塞- (IBAction)btnClick { NSThread *current = [NSThread currentThread]; for (int i = 0; i<20000; i++) { NSLog(@"run---%@", current); } return NULL; }这
转载 2023-07-25 21:42:28
93阅读
锁OSSpinLock1. OSSpinLock叫做 "自旋锁",等待锁的线程会处于忙等(busy-wait)状态,一直占用着CPU资源 2. 目前已经不再安全,可能会出现优先级反转问题 3. 如果等待锁的线程优先级较高,它会一直占用着CPU资源,优先级低的线程就无法释放锁 4. 需要导入头文件#import <libkern/OSAtomic.h> 复制代码//初始化锁 OSSpin
转载 2024-01-13 23:11:04
57阅读
iOS中有几种方法来解决多线程访问同一个内存地址的互斥同步问题: 方法一,@synchronized(id anObject),(最简单的方法) 会自动对参数对象加锁,保证临界区内的代码线程安全 1. @synchronized(self) 2. 3. { 4. 5. // 这段代码对其他 @synchronized(self) 都是互斥的
简介NSthread是苹果官方提供面向对象操作线程的技术,简单方便,可以直接操作线程对象,不过需要自己控制线程的生命周期。在平时使用较少,常用的就是下面的方法来获取当前线程。 [NSThread currentThread] 使用1.实例初始化、属性和实例方法初始化 切记下面两个方法初始化的NSThread必须手动start开启线程 //创建线程 NSThread *newThread = [
以下这三种多线程编程方式从上到下,抽象度层次是从低到高的,抽象度越高的使用越简单,也是Apple最推荐使用的,在项目中很多框架技术分别使用了不同多线程技术。NSThreadNSThread 比其他两个轻量级,使用简单。需要自己管理线程的生命周期、线程同步、加锁、睡眠以及唤醒等。线程同步对数据的加锁会有一定的系统开销。部分属性及方法:@property (nullable, copy) NSStri
转载 2023-07-20 21:53:36
77阅读
一、GCDGCD(Grand Central Dispatch)是Apple开发的一种多核编程技术。主要用于优化应用程序以支持多核处理器GCD提供函数实现多线程开发,性能更高,功能更强大首次发布在Mac OS X 10.6,iOS 4以上也可用//定义一个回调函数 void function(void* str) { printf("回调函数 %s\n",str); NSLog
转载 2023-07-24 23:57:48
10阅读
OSSpinLockOSSpinLock叫做“自旋锁”, 等待锁的线程会处于忙等状态,一直占用着CPU资源。缺点:目前已经不再安全,可能会出现优先级反转问题。如果等待锁的线程优先级较高,它会一直占用CPU资源,优先级低的线程就无法释放锁。 例如,有两个贤臣: thread1 (优先级比较高) thread2 (优先级比较低) thread2 先用OSSpinLock加锁,此时thread1 进来,
转载 2023-07-20 22:22:36
56阅读
  • 1
  • 2
  • 3
  • 4
  • 5