XOR
Linux多线程12-生产者和消费者模型
 一个最简单的生产者消费者模型 ```c /* 生产者消费者模型(粗略版) */ #include #inc ......
Linux多线程13-条件变量
上节代码存在的问题: 生产者已经没有数据了, 消费者还在while循环判断是否有数据,浪费资源 没有数据了应该通知生产者生产,生产好了通知消费者消费 这就需要条件变量 pthread_cond_t ```c int pthread_cond_init(pthread_cond_t *restrict ......
Linux多线程14-信号量
信号量的类型 sem_t ```c int sem_init(sem_t *sem, int pshared, unsigned int value); 初始化信号量 参数: - sem: 信号量变量地址 - pshared: 0 用在线程间, 非0 用在进程间 - value: 信号量中的值 in ......
原生安卓 file类常用方法
File常用方法 createNewFile();如果文件已经存在,则创建失败,否则成功创建,还有其他可能 mkdir();创建文件夹,注意:如果创建目标文件夹的父级目录不存在,就会创建失败 mkdirs();创建多级目录,父级文件目录不存在的话,会自动创建父级目录。 isFile();判断是否是一 ......
什么是能力?
所谓能力,就是解决问题的所能! 问题来了,你解决掉了,你就有这种能力! 问题来了,你解决不了,我就可以说你能力不足! # 一、面对问题,你要展现你的能力面  3. 安装调试工具 4. 下载和烧录程序 接下来,我们将详细介绍每个部分,并提供相应的实例。 1. **安装交叉编译器** 交叉编译器是用于将您编写的ARM汇编代码编译成可执行文件的工具。在本教程中 ......
Linux-rsyslog日志格式修改
## 0.背景 **rsyslog**是linux系统中用来实现日志功能的服务。默认已经安装,并且自动启用。 作用:主要用来采集日志,不生产日志 - 支持输出日志到各种数据库,如 MySQL,PostgreSQL,MongoDB ElasticSearch,等等; - 通过 RELP + TCP 实 ......
macbook m1 使用 brew 安装 nginx + 多版本 php
[toc] # macbook m1 使用 brew 安装 nginx + 多版本 php 在 FastAdmin 开发是,可能会用到多个 php 版本,那么使用 brew 是非常方便的安装方式。 ## 安装 多个 php 版本 ### 1. 配置php 仓库 由于目前 php7.4 已经被标记为 ......
Linux多线程01-线程概述
### 线程概述 - 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序 中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多 ......
Linux多线程02-创建线程
### pthread_create 描述: > pthread_create() 函数在调用进程中创建一个新的线程。新线程通过调用 start_routine() 开始执行,arg 作为 start_routine() 的唯一参数传递。 新线程以以下方式之一终止: - 调用 pthread_exi ......
Linux多线程03-终止线程
### pthread_exit 和 pthread_self 和 pthread_equal 描述: #### **pthread_exit** > pthread_exit() 函数终止调用该函数的线程,并通过retval返回一个值,如果该线程是可连接的,则在同一进程中调用pthread_joi ......
Linux多线程04-连接已终止的线程
### pthread_join 描述: > pthread_join() 函数等待由 thread 指定的线程终止。如果该线程已经终止,则pthread_join()将立即返回。由thread指定的线程必须是可连接的。 如果retval不为NULL,则pthread_join()将目标线程的退出状 ......
Linux多线程05-线程的分离
### pthread_detach 描述: > pthread_detach()函数将由thread标识的线程标记为已分离。当一个分离的线程终止时,它的资源会自动释放回系统,而不需要另一个线程与已终止的线程加入。尝试分离一个已经分离的线程会导致未指定的行为。 ```c #include int p ......
Linux多线程06-线程取消
### pthread_cancel 描述: > pthread_cancel()函数向线程thread发送一个取消请求。目标线程对取消请求的响应取决于该线程控制的两个属性:其取消状态和类型。 一个线程的取消状态由pthread_setcancelstate(3)确定,可以启用(对于新线程而言是默认 ......
Linux多线程07-线程属性
线程属性类型: pthread_attr_t 描述: pthread_attr_setdetachstate() 函数 将由 attr 引用的线程属性对象的分离状态属性设置为 detachstate 中指定的值。分离状态属性确定使用线程属性对象 attr 创建的线程将在可连接状态还是分离状态下创建。 ......
Linux多线程08-线程同步
一个多线程售票示例: ```c // 三个窗口, 共100张票 #include #include #include int tickets = 100; //所有线程都共享这100张票 void* sellticket(void* arg){ // 卖票 while(tickets>0){ usl ......
P2305 [NOI2014] 购票
# P2305 [NOI2014] 购票 ## 题意 今年夏天,NOI 在 SZ 市迎来了她三十周岁的生日。来自全国 $n$ 个城市的 OIer 们都会从各地出发,到 SZ 市参加这次盛会。 全国的城市构成了一棵以 SZ 市为根的有根树,每个城市与它的父亲用道路连接。为了方便起见,我们将全国的 $n ......
AtCoder Beginner Contest 267 ABCDE
# [AtCoder Beginner Contest 267](https://atcoder.jp/contests/abc267) ## **A - Saturday** ### Problem Statement 题意:问你给定的天到礼拜六还要几天。 思路:直接算。 ```c++ #incl ......
odoo中的name_get详解
name_get是Odoo框架中一个非常重要的方法。它用于定义在Odoo的用户界面上如何显示一个记录的名称。name_get方法通常在许多地方使用,包括下拉选择框,一对多或多对多字段的值,或者任何需要显示模型记录名称的地方。 作用: name_get方法返回一个列表,每个列表元素是一个元组,其中包含 ......
未来的编程语言「GitHub 热点速览」
 又一个编程语言火了,不算新,因为它已经开发了一段时间。不过在本周 Hacker News 上风头十足,DreamBe ......
Prism导航
> 通常,导航意味着某个Control被添加到UI中,与此同时另一个Control被移除。 # 简单跳转 1. 新建 `UserControl`,新建ViewModel,VM需要实现 `INavigationAware` 2. 注册 `UserControl`到DryIoc容器 ``` contai ......
【从零开始学微服务】03.软件架构的演化过程
>大家好,欢迎来到万猫学社,跟我一起学,你也能成为**微服务专家**。 目前大部分的企业系统和互联网应用都是采用Web的形式提供服务能力,根据系统的组织方式和部署结构,我们通常把软件架构的演化过程分为以下几个阶段: - 单体架构 - 垂直架构 - SOA架构 - 微服务架构 # 单体架构 单体架构, ......
HDFS
# 分布式文件系统 HDFS HDFS (Hadoop Distributed File System) 是 Apache Hadoop 项目基于 Google GFS 论文的开源实现。 ## HDFS 简介 HDFS 要实现以下目标: - 兼容廉价的硬件设备 - 流数据读写 - 大数据集 - 简单 ......
【网络】【HTTP】既然有 HTTP 协议,为什么还要有 RPC?
1 前言 我想起了我刚工作的时候,第一次接触 RPC 协议,当时就很懵,我 HTTP 协议用的好好的,为什么还要用 RPC 协议? 于是就到网上去搜。 不少解释显得非常官方,我相信大家在各种平台上也都看到过,解释了又好像没解释,都在用一个我们不认识的概念去解释另外一个我们不认识的概念,懂的人不需要看 ......
P7526 Virtual Self
把每个 $v_i$ 当成 $v_i$ 个 $x_i$,对这 $n=\sum v_i$ 所有多项式分别做 FWT,我们的答案相当于是从中选 $m$ 个乘起来,对所有这样的情况加和,再 IFWT。 考虑到这样的多项式做 FWT 之后每项都是 $\pm1$。我们考虑某一项所有的多项式里一共有 $t$ 个 ......