一:大话版用户态和内核态 (1)用户态和内核态的概念?--->内核态: CPU可以访问内存所有数据, 包括外围设备, 例如硬盘, 网卡. CPU也可以将自己从一个程序切换到另一个程序--->用户态: 只能受限的访问内存, 且不允许访问外围设备. 占用CPU的能力被剥夺, CPU资源可以被其他程序获取
	(2)为什么需要用户态和内核态?
	--->由于需要限制不同的程序之间的访问能            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-10-08 10:22:24
                            
                                22阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录第一:线程简介第二:HarmonyOS中API函数分析   osThreadNew()第三:软件设计第四:HarmonyOS内核代            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-10-16 00:55:39
                            
                                128阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            ?1. 什么是Monitor?我们都知道synchronized的作用是用来保证修饰的代码或者方法执行有且只有一个线程执行,也就是锁。那么在执行被锁住的方式时,synchronized就需要通过monitor来记录和保证锁的状态。所以monitor这里的作用其实就是起到了控制synchronized什么时候获取锁,什么时候释放锁,以及记录了锁被重用的次数。?2. 当多线程时Monitor如何执行            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-28 19:06:31
                            
                                58阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            多线程下HashMap的死循环 Java的HashMap是非线程安全的。多线程下应该用ConcurrentHashMap。 多线程下[HashMap]的问题(这里主要说死循环问题):1、多线程put操作后,get操作导致死循环。2、多线程put非NULL元素后,get操作得到NULL值。3、多线程put操作,导致元素丢失。 1、为何出现死循环?(在多线程下使用非线程安全的HashMap,单线程根本            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-06-26 14:50:22
                            
                                46阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            如何在CPU上优化GEMM矩阵乘法How to optimize GEMM on CPU(TL;DR) TVM 提供抽象接口,允许用户分别描述算法和算法的实现组织(所谓的调度)。通常,在高性能调度中编写算法会破坏算法的可读性和模块化。此外,尝试各种看似有希望的调度也很耗时。在 TVM 的帮助下,可以有效地尝试这些调度以提高性能。在本文中,将演示如何使用 TVM 优化方阵乘法,通过简单地添加 18             
                
         
            
            
            
            并发模型是用来实现不同应用场景中并发任务的编程模型,常见的并发模型分为基于内存共享的并发模型和基于消息通信的并发模型。
Actor并发模型作为基于消息通信并发模型的典型代表,不需要开发者去面对锁带来的一系列复杂偶发的问题,同时并发度也相对较高,因此得到了广泛的支持和使用。
当前ArkTS提供了TaskPool和Worker两种并发能力,TaskPool和Worker都基于Actor并发模型实现。
Actor并发模型和内存共享并发模型的具体对比请见多线程并发模型。            
                
         
            
            
            
            任务池(TaskPool)作用是为应用程序提供一个多线程的运行环境,降低整体资源的消耗、提高系统的整体性能,且您无需关心线程实例的生命周期。
任务函数在TaskPool工作线程的执行耗时不能超过3分钟(不包含Promise和async/await异步调用的耗时,例如网络下载、文件读写等I/O任务的耗时),否则会被强制退出。
Promise不支持跨线程传递,如果TaskPool返回pending或rejected状态的Promise,会返回失败;对于fulfilled状态的Promise,TaskPool会解析返回的结果,如果结果可以跨线程传递,则返回成功。
不支持在TaskPool工作线程中使用AppStorage。            
                
         
            
            
            
            创建Worker时,有手动和自动两种创建方式,手动创建Worker线程目录及文件时,还需同步进行相关配置,详情请参考创建Worker的注意事项。
使用Worker能力时,构造函数中传入的Worker线程文件的路径在不同版本有不同的规则,详情请参见文件路径注意事项。
Worker创建后需要手动管理生命周期,且最多同时运行的Worker子线程数量为64个,详情请参见生命周期注意事项。
由于不同线程中上下文对象是不同的,因此Worker线程只能使用线程安全的库,例如UI相关的非线程安全库不能使用。
序列化传输的数据量大小限制为16MB。
使用Worker模块时,需要在宿主线程中注册onerror接口,否则当Worker线程出现异常时会发生jscrash问题。
不支持跨HAP使用Worker线程文件。
引用HAR/HSP前,需要先配置对HAR/HSP的依赖,详见引用共享包。
不支持在Worker工作线程中使用AppStorage。            
                
         
            
            
            
            ·提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录第1节: 鸿蒙系统(HarmonyOS)概述第2节:鸿蒙系统核心技术特色及架构技术第3节:鸿蒙开发环境构建及应用开发知识点1:华为开发者帐号注册知识点2:鸿蒙本地开发环境构建知识点3【创建鸿蒙系统应用工程】知识点4【本地预览Previewer使用】知识点5【工程运行】第4节:鸿蒙应用工程源码分析知识点1:工程结构知识点2【            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-15 20:45:22
                            
                                167阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Linux内核可以看作一个服务进程(管理软硬件资源,响应用户进程的种种合理以及不合理的请求)。内核需要多个执行流并行,为了防止可能的阻塞,支持多线程是必要的。内核线程就是内核的分身,一个分身可以处理一件特定事情。内核线程的调度由内核负责,一个内核线程处于阻塞状态时不影响其他的内核线程,因为其是调度的基本单位。这与用户线程是不一样的。因为内核线程只运行在内核态,因此,它只能使用大于PAGE_OFFS            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-12 20:46:56
                            
                                55阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            今晚的发布会上,华为正式推出了最新的HarmonyOS 2系统,并开始在Mate、P等多款手机、MatePad平板等设备上推送,鸿蒙时代真正开始了。 2019年8月份的开发者大会上,华为首次公布自研的鸿蒙OS系统(英文Harmony OS),名字有开天辟地质疑,而鸿蒙也是全世界第一个基于微内核的全场景分布式OS,具备分布架构、天生流畅、内核安全及生态互享等优势。鸿蒙发展历程:2019年推出的是鸿蒙            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-06 21:35:16
                            
                                100阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            华为鸿蒙系统HarmonyOS学习之十:鸿蒙HarmonyOS微内核技术 一、前言       把操作系统中更多的成分和功能放到更高的层次(即用户模式)中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核中通常提供了以下的功能:进程/线程管理低级存储器管理中断和陷入处理微内核具有以下的特点:足够小的            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-21 15:45:27
                            
                                66阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            concurrent.futures 是标准库里的一个模块,它提供了一个实现异步任务的高级 API 接口。本文将通过一些代码例子来介绍这个模块常见的用法。ExecutorsExecutor 是一个抽象类,它有两个非常有用的子类–ThreadPoolExecutor 和 ProcessPoolExecutor 。从命名就可以知道,前者采用的是多线程,而后者使用多进程。
下面将分别介绍这两个子类,在给            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-25 07:32:58
                            
                                236阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # HarmonyOS 多线程任务顺序执行
## 引言
在开发过程中,经常会遇到需要按照一定的顺序执行多个任务的情况。HarmonyOS作为一个支持多线程的操作系统,可以很方便地实现多线程任务的顺序执行。本文将详细介绍实现HarmonyOS多线程任务顺序执行的步骤,并提供相应的代码示例。
## 整体流程
下表展示了实现HarmonyOS多线程任务顺序执行的整体流程。
| 步骤 | 说明 |            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-01-10 04:35:43
                            
                                146阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            # 如何实现 HarmonyOS 内核的开发
作为新手开发者,您可能会感到实现 HarmonyOS 内核是一项艰巨的任务。然而,通过分解步骤并按照流程来进行,您可以逐步掌握这一过程。本文将为您提供一个清晰的流程指南,并详细说明每个步骤的主要内容及相关代码。
## HarmonyOS 内核开发流程
以下是实现 HarmonyOS 内核的主要步骤。我们将通过表格形式展示每个阶段的内容和关键任务:            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2024-08-16 05:28:33
                            
                                74阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            任务执行 文章目录任务执行1、线程中执行任务1.1、串行地执行任务1.2、为任务创建线程1.3、无线创建线程的代价2、Executor框架2.1、示例:基于Executor的Web服务器2.2、执行策略2.3、生命周期2.4、周期任务3、优化实例3.1、串行页面渲染3.2、携带结果的Callable和Future3.3、CompletionService总结 1、线程中执行任务1.1、串行地执行任            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-01-12 02:08:41
                            
                                60阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            Linux内核源码阅读以及工具     随着linux的逐步普及,现在有不少人对于Linux的安装及设置已经比较熟悉了。与Linux 的蓬勃发展相适应,想深入了解Linux的也越来越多。而要想深入了解Linux,就需要阅读和分析linux内核的源代码。  Linux的内核源代码可以从很多途径得到。一般来讲,在安装的linux系统下,/usr/src            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-09 12:36:42
                            
                                57阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            经过多年的猜测和谣言,中国科技巨头华为在2019年正式发布了其Harmony OS操作系统。可以说,提出的问题多于回答的问题。它是如何工作的?它解决什么问题?这是华为与美国政府之间当前仇恨的产物吗? 
    
 
    
 是否基于Linux的Harmony OS?不会。尽管两者都是免费软件产品(或更准确地说,华为已承诺发布具有开源许可证的Harmony OS),但Harm            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-20 18:04:07
                            
                                40阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            第一章 Java多线程技能   
     实现多线程的方式:        继承Thread类        实现Runnable接口执行start()方法的顺序不代表线程启动的顺序构造函            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-14 13:30:39
                            
                                25阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            // NSObject // 在子线程中执行代码 // 参数1: 执行的方法 (最多有一个参数,没有返回值) // 参数2: 传递给方法的参数// [self performSelectorInBackground:@selector(cycling:) withObject:@"obj...            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-05-14 22:33:14
                            
                                108阅读