随着cpu核数越来越多,不可避免的利用多线程技术以充分利用其计算能力。所以,多线程技术是服务端开发人员必须掌握的技术。线程的创建和销毁,都涉及到系统调用,比较消耗系统资源,所以就引入了线程池技术,避免频繁的线程创建和销毁。在Java中有一个Executors工具类,可以为我们创建一个线程池,其本质就是new了一个ThreadPoolExecutor对象。线程池几乎也是面试必考问题。本节结合源代码,
转载 2023-10-04 22:13:00
28阅读
OC中的多线程  OC中多线程根据封装程度可以分为三个层次:NSThread、GCD和NSOperation,另外由于OC兼容C语言,因此仍然可以使用C语言的POSIX接口来实现多线程,只需引入相应的头文件:#include<pthread.h>。NSThread  NSThread是封装程度最小最轻量级的,使用更灵活,但要手动管理线程的生命周期、线程同步和线程枷锁
文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处理而开发的,所以文件读写是应用程序开发的一个基本功能。
线程   是一个应用程序内多个代码的执行路径,执行线程,同时在同一时间里执行不同的任务。三种:1、NSTread 2、Cocoa NSOperation (NSOperation,NSOperationQueue) 3、GrandCentralDispatch:GCD1\NSTread相对最简单,需要自己管理线程的生命周期和线程同步(加锁会有一定的系统开销)两种应用方式:需要传递三个参
线程需要掌握的知识点 2.png 线程的注意点 不要同时开太多线程(1~3条即可,不要超过5条)线程概念主线程:UI线程,显示、刷新UI界面,处理UI控件的事件子线程:后台线程,异步线程不要把耗时操作放在主线程中,容易造成线程阻塞,要放在子线程中执行 多线程的实现方案.png 线程阻塞的情况 #import<pthread.h> //vi
1. 操作文件的流程:1、有个文件; 2、打开文件:open(filename)。模式:只读 r、写 w、追加模式 a+。默认以只读模式打开; 3、操作文件:进行读操作或写操作; 4、关闭文件:close()。2. 文件操作模式r 只读,打开的文件不存在,会报错.默认以 r 模式打开。w 只写,会清空原来文件的内容,若文件不存在,会新建。a 追加写,不会清空,若文件不存在,会新建;但是不能读。r+
废话开篇:iOS 下的多线程的技术的应用衍生出了锁的机制,试想,如果 iOS 下没有多线程的概念,所有的代码都会在同步环境下执行,那么,也就不会产生争夺资源情况的发生,当然,也就没有办法利用多核的优势。所以,多线程的应用是广布的,而锁的应用是局部的,所以,二者应相辅相成,来达到提高运行效率的同时提高程序运行的稳定性。基本的三种锁的类型:互斥锁、自旋锁、读写锁。 其中,互斥锁 多线程在访问加锁中的临
转载 2023-08-22 10:11:51
127阅读
Read-Write Lock Pattern【读写】一:Read-Write Lock Pattern的参与者--->读写锁 --->数据(共享资源) --->读线程 --->写线程二Read-Write Lock Pattern模式什么时候使用---> * 为了多线线程环境下保护数据安全,我们必须避免的冲突 * 一个线程读取,另一个线程写入的read-writ
转载 2024-03-28 14:28:12
368阅读
pthread读写锁把对共享资源的访问者分为读者和写者,读者只对共享资源进行读访问,写者只对共享资源进行写操作。在互斥机制,读者和写者都需要独立独占互斥量以独占共享资源,在读写锁机制下,允许同时有多个读者读访问共享资源,只有写者才需要独占资源。相比互斥机制,读写机制由于允许多个读者同时读访问共享资源,进一步提高了多线程的并发度。
转载 2023-05-25 10:15:57
111阅读
阿里妹导读:作为在日常开发生产中非常实用的语言,有必要掌握一些python用法,比如爬虫、网络请求等场景,很是实用。但python是单线程的,如何提高python的处理速度,是一个很重要的问题,这个问题的一个关键技术,叫协程。本篇文章,讲讲python协程的理解与使用,主要是针对网络请求这个模块做一个梳理,希望能帮到有需要的同学。 概念篇在理解协程这个概念及其作用场景前,先要了解几
学习了进程与线程,现对自己的学习进行记录。目录:   一.进程与线程的概念,以及联系与区别   二.多线程   三.python中多线程的应用   四.python实例   五.参考文献     一.进程与线程的概念。以及联系与区别   进
现在ios里使用的数据库一般都是Sqlite,但是使用Sqlite有个不太好的地方就是在多线程的时候,会出现问题,sqlite只
原创 2022-05-05 22:32:19
640阅读
      数据库调优工作中,有一部分是需要排查IO问题的,例如IO的速度或者RAID级别无法响应高并发下的快速请求。最常见的就是查看磁盘每次读写的响应速度,通过性能计数器Avg.Disk sec/Read(Write)我们可以很直观的看到他们。不同的业务,繁忙程度也不同,需要什么样的IO做支撑?难道都用最高配的IO去配置硬件吗?能否通过一些经验和基线来判断当下磁盘环
1. 沙盒机制 1> 沙盒概述  每一个iOS应用程序都会为自己创建一个文件系统目录(文件夹), 这个独立、封闭、安全的空间,叫做沙盒  注:① 每一个应用程序都会拥有一个应用程序沙盒    ② 应用程序沙盒就是一个文件系统目录 2> 沙盒机制iOS中沙盒机制是一种安全体系它规定了应用程序只能在为该应用程序创建的文件夹(沙盒)内访问文件,不可以访问其他沙盒内的内容(iOS8 已经部分开
转载 2023-11-02 00:22:21
298阅读
Java学习(1)——(Demo)多线程读取文件目标:线程1:读取txt格式文件直到结束,每读取10个字符就通知线程2执行任务;线程2:打印线程1刚读取到的10个字符,将其中的小写字母转换成大写字母并打印更改后的10个字符。结束后通知线程1执行任务。代码及分析:MyBufferCache.java/* * MyBufferCache.java * * MyBufferCache类 * 包
SQLite 数据库是一款轻量级的关键型数据库,实际上就是一个db 文件,但支持 SQL 语句。Android 系统提供了丰富的 API 用于操作 SQLite 数据库。SQLiteDatabase 类用于 android.database.sqlite 包中,提供了一个静态方法,用于得到 SQLiteDatabase 对象,对 SQLite 数据库进行创建、删除、执
转载 2023-07-14 15:31:23
40阅读
一、读写锁在多线程环境下,我们经常会遇到读写同步的问题。常见的做法就是将读写做成互斥操作,但是这样会降低读写性能。通常情况下我们希望读操作之间是不互斥的,这个时候就需要用到读写锁了。简单来说,读写锁要做的就是保证:读与读不互斥读与写互斥写与写互斥二、GCD提供的读写锁GCD的并发队列有一个Barrier Block的概念,关于Barrier Block,Apple给出的解释如下:Will not
# iOS读写plist 在iOS开发中,我们经常需要将一些数据保存到本地,以便后续使用。其中一种常见的方式是使用plist文件。Plist是Property List的缩写,是一种常用的数据存储格式,类似于XML。Plist文件可以存储各种类型的数据,包括字符串、数组、字典等。 本文将介绍如何在iOS应用程序中读写plist文件,并提供相关的代码示例。 ## 1. 创建plist文件 首
原创 2024-01-16 09:29:07
174阅读
iOS——属性关键字iOS属性关键字 iOS属性关键字常用的属性关键字有:assign,weak,unsafe_unretained,strong,retain ,copy,readonly,readwrite , nonatomic,natomic及 __weak,__block ,@synthesize 和 @dynamic。 关键字有三个类别:读写权限、原子性、引用计数读写权限:readw
转载 2023-07-13 12:27:24
240阅读
iOS iCloud读写是指在iOS设备上使用iCloud来存储和读取数据的操作。iCloud是苹果公司提供的云存储服务,可以帮助用户在不同设备之间同步数据,包括照片、联系人、日历、备忘录等内容。在开发iOS应用程序时,可以利用iCloud来实现数据的备份和同步,提升用户体验。 ### iCloud基本概念 在iOS开发中,使用iCloud存储数据需要了解几个基本概念: 1. **iClou
原创 2024-03-08 04:17:28
163阅读
  • 1
  • 2
  • 3
  • 4
  • 5