XOR

Linux多线程12-生产者和消费者模型

![image](https://img2023.cnblogs.com/blog/894919/202306/894919-20230626085900099-1696309927.png) 一个最简单的生产者消费者模型 ```c /* 生产者消费者模型(粗略版) */ #include #inc ......
生产者 线程 模型 消费者 Linux

Linux多线程13-条件变量

上节代码存在的问题: 生产者已经没有数据了, 消费者还在while循环判断是否有数据,浪费资源 没有数据了应该通知生产者生产,生产好了通知消费者消费 这就需要条件变量 pthread_cond_t ```c int pthread_cond_init(pthread_cond_t *restrict ......
线程 变量 条件 Linux 13

Linux多线程14-信号量

信号量的类型 sem_t ```c int sem_init(sem_t *sem, int pshared, unsigned int value); 初始化信号量 参数: - sem: 信号量变量地址 - pshared: 0 用在线程间, 非0 用在进程间 - value: 信号量中的值 in ......
线程 信号 Linux 14

原生安卓 file类常用方法

File常用方法 createNewFile();如果文件已经存在,则创建失败,否则成功创建,还有其他可能 mkdir();创建文件夹,注意:如果创建目标文件夹的父级目录不存在,就会创建失败 mkdirs();创建多级目录,父级文件目录不存在的话,会自动创建父级目录。 isFile();判断是否是一 ......
常用 方法 file

什么是能力?

所谓能力,就是解决问题的所能! 问题来了,你解决掉了,你就有这种能力! 问题来了,你解决不了,我就可以说你能力不足! # 一、面对问题,你要展现你的能力面 ![image](https://img2023.cnblogs.com/blog/603942/202306/603942-202306251 ......
能力

zabbix5.0安装和部署笔记

zabbix版本5.0,操作系统版本Ubuntu 18.04 版本5.0,操作系统版本Ubuntu 18.041.安装mysql2.解压这个包tar -xvf mysql-5.7.30-1.el7.x86_64.rpm-bundle.tar3.rpm所有程序sudo apt install rpmr ......
zabbix5 笔记 zabbix

算法——动态规划

计算机归根结底只会做一件事:**穷举**。 所有的算法都是在让计算机【如何聪明地穷举】而已,动态规划也是如此。 动态规划是自底向上,递归树是自顶向下 为什么动态规划一般都脱离了递归,而是由循环迭代完成计算。 【DP的核心思想】 DP为什么会快? 无论是DP还是暴力,我们的算法都是在可能解空间内,寻找 ......
算法 动态

算法——DFS、BFS、记忆回溯、记忆搜索

回溯和深度优先搜索的区别 回溯是一种更通用的算法。可以用于任何类型的结构,其中可以消除域的部分 ——无论它是否是逻辑树。 深度优先搜索是与搜索树或图结构相关的特定回溯形式。它使用回溯作为其使用树的方法的一部分,但仅限于树/图结构。 回溯和 DFS 之间的区别在于回溯处理隐式树而 DFS 处理显式树。 ......
记忆 算法 DFS BFS

算法——暴力、贪心策略

暴力贪心算法是一种基于贪心思想的算法,它的主要思想是在问题求解的过程中,尽可能地采取局部最优策略,从而得到全局最优解。 暴力贪心算法的技巧包括: * 确定问题的最优解结构:对于一个问题,如果它具有最优子结构的性质,那么就可以使用贪心算法来求解。最优子结构的性质是指问题的最优解可以通过其子问题的最优解 ......
算法 暴力 策略

[ARM 汇编]高级部分—ARM汇编编程实战—3.3.2 嵌入式开发环境搭建

搭建一个嵌入式开发环境主要包括以下几个部分: 1. 安装交叉编译器 2. 配置集成开发环境(IDE) 3. 安装调试工具 4. 下载和烧录程序 接下来,我们将详细介绍每个部分,并提供相应的实例。 1. **安装交叉编译器** 交叉编译器是用于将您编写的ARM汇编代码编译成可执行文件的工具。在本教程中 ......
嵌入式 实战 ARM 部分 环境

Linux-rsyslog日志格式修改

## 0.背景 **rsyslog**是linux系统中用来实现日志功能的服务。默认已经安装,并且自动启用。 作用:主要用来采集日志,不生产日志 - 支持输出日志到各种数据库,如 MySQL,PostgreSQL,MongoDB ElasticSearch,等等; - 通过 RELP + TCP 实 ......
Linux-rsyslog rsyslog 格式 Linux 日志

macbook m1 使用 brew 安装 nginx + 多版本 php

[toc] # macbook m1 使用 brew 安装 nginx + 多版本 php 在 FastAdmin 开发是,可能会用到多个 php 版本,那么使用 brew 是非常方便的安装方式。 ## 安装 多个 php 版本 ### 1. 配置php 仓库 由于目前 php7.4 已经被标记为 ......
macbook 版本 nginx brew php

Linux多线程01-线程概述

### 线程概述 - 与进程(process)类似,线程(thread)是允许应用程序并发执行多个任务的一种机制。一个进程可以包含多个线程。同一个程序 中的所有线程均会独立执行相同程序,且共享同一份全局内存区域,其中包括初始化数据段、未初始化数据段,以及堆内存段。(传统意义上的 UNIX 进程只是多 ......
线程 Linux 01

Linux多线程02-创建线程

### pthread_create 描述: > pthread_create() 函数在调用进程中创建一个新的线程。新线程通过调用 start_routine() 开始执行,arg 作为 start_routine() 的唯一参数传递。 新线程以以下方式之一终止: - 调用 pthread_exi ......
线程 Linux 02

Linux多线程03-终止线程

### pthread_exit 和 pthread_self 和 pthread_equal 描述: #### **pthread_exit** > pthread_exit() 函数终止调用该函数的线程,并通过retval返回一个值,如果该线程是可连接的,则在同一进程中调用pthread_joi ......
线程 Linux 03

Linux多线程04-连接已终止的线程

### pthread_join 描述: > pthread_join() 函数等待由 thread 指定的线程终止。如果该线程已经终止,则pthread_join()将立即返回。由thread指定的线程必须是可连接的。 如果retval不为NULL,则pthread_join()将目标线程的退出状 ......
线程 Linux 04

Linux多线程05-线程的分离

### pthread_detach 描述: > pthread_detach()函数将由thread标识的线程标记为已分离。当一个分离的线程终止时,它的资源会自动释放回系统,而不需要另一个线程与已终止的线程加入。尝试分离一个已经分离的线程会导致未指定的行为。 ```c #include int p ......
线程 Linux 05

Linux多线程06-线程取消

### pthread_cancel 描述: > pthread_cancel()函数向线程thread发送一个取消请求。目标线程对取消请求的响应取决于该线程控制的两个属性:其取消状态和类型。 一个线程的取消状态由pthread_setcancelstate(3)确定,可以启用(对于新线程而言是默认 ......
线程 Linux 06

Linux多线程07-线程属性

线程属性类型: pthread_attr_t 描述: pthread_attr_setdetachstate() 函数 将由 attr 引用的线程属性对象的分离状态属性设置为 detachstate 中指定的值。分离状态属性确定使用线程属性对象 attr 创建的线程将在可连接状态还是分离状态下创建。 ......
线程 属性 Linux 07

Linux多线程08-线程同步

一个多线程售票示例: ```c // 三个窗口, 共100张票 #include #include #include int tickets = 100; //所有线程都共享这100张票 void* sellticket(void* arg){ // 卖票 while(tickets>0){ usl ......
线程 Linux 08

mycat 实现mysql双主双从

......
mycat mysql

P2305 [NOI2014] 购票

# P2305 [NOI2014] 购票 ## 题意 今年夏天,NOI 在 SZ 市迎来了她三十周岁的生日。来自全国 $n$ 个城市的 OIer 们都会从各地出发,到 SZ 市参加这次盛会。 全国的城市构成了一棵以 SZ 市为根的有根树,每个城市与它的父亲用道路连接。为了方便起见,我们将全国的 $n ......
P2305 2305 2014 NOI

AtCoder Beginner Contest 267 ABCDE

# [AtCoder Beginner Contest 267](https://atcoder.jp/contests/abc267) ## **A - Saturday** ### Problem Statement 题意:问你给定的天到礼拜六还要几天。 思路:直接算。 ```c++ #incl ......
Beginner AtCoder Contest ABCDE 267

odoo中的name_get详解

name_get是Odoo框架中一个非常重要的方法。它用于定义在Odoo的用户界面上如何显示一个记录的名称。name_get方法通常在许多地方使用,包括下拉选择框,一对多或多对多字段的值,或者任何需要显示模型记录名称的地方。 作用: name_get方法返回一个列表,每个列表元素是一个元组,其中包含 ......
name_get odoo name get

未来的编程语言「GitHub 热点速览」

![](https://img2023.cnblogs.com/blog/759200/202306/759200-20230626001936909-2117286353.jpg) 又一个编程语言火了,不算新,因为它已经开发了一段时间。不过在本周 Hacker News 上风头十足,DreamBe ......
编程语言 语言 热点 GitHub

Prism导航

> 通常,导航意味着某个Control被添加到UI中,与此同时另一个Control被移除。 # 简单跳转 1. 新建 `UserControl`,新建ViewModel,VM需要实现 `INavigationAware` 2. 注册 `UserControl`到DryIoc容器 ``` contai ......
Prism

【从零开始学微服务】03.软件架构的演化过程

>大家好,欢迎来到万猫学社,跟我一起学,你也能成为**微服务专家**。 目前大部分的企业系统和互联网应用都是采用Web的形式提供服务能力,根据系统的组织方式和部署结构,我们通常把软件架构的演化过程分为以下几个阶段: - 单体架构 - 垂直架构 - SOA架构 - 微服务架构 # 单体架构 单体架构, ......
架构 过程 软件 03

HDFS

# 分布式文件系统 HDFS HDFS (Hadoop Distributed File System) 是 Apache Hadoop 项目基于 Google GFS 论文的开源实现。 ## HDFS 简介 HDFS 要实现以下目标: - 兼容廉价的硬件设备 - 流数据读写 - 大数据集 - 简单 ......
HDFS

【网络】【HTTP】既然有 HTTP 协议,为什么还要有 RPC?

1 前言 我想起了我刚工作的时候,第一次接触 RPC 协议,当时就很懵,我 HTTP 协议用的好好的,为什么还要用 RPC 协议? 于是就到网上去搜。 不少解释显得非常官方,我相信大家在各种平台上也都看到过,解释了又好像没解释,都在用一个我们不认识的概念去解释另外一个我们不认识的概念,懂的人不需要看 ......
HTTP 网络 RPC

P7526 Virtual Self

把每个 $v_i$ 当成 $v_i$ 个 $x_i$,对这 $n=\sum v_i$ 所有多项式分别做 FWT,我们的答案相当于是从中选 $m$ 个乘起来,对所有这样的情况加和,再 IFWT。 考虑到这样的多项式做 FWT 之后每项都是 $\pm1$。我们考虑某一项所有的多项式里一共有 $t$ 个 ......
Virtual P7526 7526 Self