- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 Teamtalk线程池
一、线程池模型生产者自主选择消费者(teamtalk思路):任务队列存在于每个工作线程,当有新任务到来时,线程池管理线程自主随机向其中一个工作线程派发任务,推送到该工作线程的任务队列中,接着唤醒该工作线程,从任务队列中取出任务执行。消费者竞争:线程池管理线程维护任务队列,当有任务到来时,任务存于该队列中。然后将新任务到达这个消息广播出去,让工作线程来竞争。二、teamtalk线程池代码任务类CTask,想处理的工作任务必须继承的基类// Task.hclass CTask {publi
2022-03-12 15:40:32
315
1
原创 lower_bound&upper_bound&equal_bound实现
// arr有序// 二分查找#include <stdio.h>// 第一个 >= val 的 indexint lower_bound(int arr[], int num, int val){ int l = 0, r = num-1; if (arr[r] < val) { // printf("val:%d, too large\n\n", val); return -1; } while (l &
2022-03-10 15:46:53
174
原创 fread与read性能问题
本文通过strace跟踪 fread 和 read 系统调用的方式探究它们的性能问题1. fread#include <stdio.h>#include <stdlib.h>int main(){ FILE *fp = NULL; char buf[1024*4*10]; if ((fp = fopen("LICENSE", "rb")) == NULL) { perror("fopen"); re
2022-03-09 15:50:31
1112
原创 golang基础
++/-- 是语句,不是表达式,只能单独成句var n = 0// 错误使用// func add() int {// n = n++ // syntax error: unexpected ++ at end of statement// return n++ // syntax error: unexpected ++ at end of statement// }func add() int { n++ // 单独成句 return n}函数参数入栈顺.
2022-03-08 13:23:42
539
原创 go中切片指向问题
当切片基于数组切片得到时,切片底层数组首地址是否在原数组范围内,见如下代码:package mainimport "fmt"func main() { a := [...]int{1, 2, 3} s := a[:2] // [low:high] fmt.Println(&a[0], a, &s[0], s, len(s), cap(s)) // 0xc0000bc000 [1 2 3] 0xc0000bc000 [1 2] 2 3 // 此
2022-03-03 12:26:26
408
原创 Python3自定义排序
数据# 待排序数据# 排序规则:# 1. 二等座: 有>大数字符串>小数字字符串# 2. 历时: 小到大tickets = [ { '车次': 'G1', '历时': "1:23", '二等座': "有" }, { '车次': 'G2', '历时': "1:00", '二等座': "有" }, { '车次': 'G3',
2022-01-10 14:21:12
663
原创 Macbook M1 vscode配置python3 AutoComplete
M1遇到的坑我安装了python3.8,M1自带python2.7,卸载不了,网上各种办法试了,操作/usr/bin/目录提示read-only file system,试了网上说的mount -uw /,提示报错,SIP确实是关闭了的。无奈,vscode自动补全用的还是python2.7的lib解决办法vscode的python插件可以配置python依赖库的路径,以下是python3.8的site-packages路径,替换完后,重启vscode即可。 "python.autoComple
2021-12-16 20:51:46
1409
原创 docker跨子网通信
docker网络中iptables的一些设置docker通过filter表的FORWARD链进行子网隔离,通过自定义链DOCKER-ISOLATION-STAGE-1和DOCKER-ISOLATION-STAGE-2控制;docker的filter表中FORWARD链有自定义链DOCKER-USER,用于用户自定义一些规则,这条链放在了FORWARD链的最开始处;docker子网间通信默认会进行NAT转换,动作方式为MASQUERADE,因此如果在子网间通信时不想进行NAT转换,可在nat表的POS
2021-11-12 16:17:04
475
原创 关于gorm默认值的一些理解
1. 数据库表创建create table users (uid int auto_increment,name varchar(64) not null,age tinyint default '10',gender enum('male', 'female'),primary key (uid))engine=innodb default charset=utf8mb4;2. 对于golang结构中不指定字段,默认使用相应的0值填充数据类型填充值整型0字符
2021-10-14 11:28:15
4972
原创 数据库基本操作
-- MySQL管理--- USE 数据库名:选择要操作的Mysql数据库,使用该命令后所有Mysql命令都只针对该数据库。SHOW DATABASES;列出 MySQL 数据库管理系统的数据库列表。--- SHOW TABLES:显示指定数据库的所有表,使用该命令前需要使用 use 命令来选择要操作的数据库。--- SHOW COLUMNS FROM 数据表:显示数据表的属...
2020-02-27 11:52:07
284
原创 linux软件包管理
一、dpkg软件包管理工具I. 概述dpkg软件包工具主要用于Debian和Ubuntu这两个发行版本, 用于管理.deb格式的软件包II. 命令dpkg --help # 获得该命令的完整帮助信息dpkg --version # 查看dpkg版本信息dpkg -i|–install <.deb 文件名> # 安装软件包dpkg --force -… # 忽视遇到的...
2020-02-18 14:52:22
165
原创 各种排序算法实现
#include <iostream>#include <random>#include <ctime>#include <string>using namespace std;namespace TestHelper{ template <typename T> T* generateRandArray...
2019-09-06 10:00:57
104
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人