- 博客(127)
- 收藏
- 关注
原创 pthread_cond_broadcast产生的惊群效应和pthread_cond_signal比较
#include <iostream>#include <stdio.h>#include <queue>#include <unistd.h>#include <pthread.h>#include <stdlib.h>using namespace std;queue<int> res;pt...
2020-03-27 19:56:45
892
原创 对pthread_cond_wait的理解
函数原型int pthread_cond_wait(pthread_cond_t *restrict cond,pthread_mutex_t *restrict mutex);pthread_cond_wait:调用其函数有三个步骤1、对其传入的mutex进行解锁2、等待pthread_cond_signal的唤醒(阻塞在这里)3、唤醒后重新对其进行加锁pthr...
2020-03-26 20:22:29
523
原创 主机可以ping通虚拟机,但telnet不通(不关防火墙)
firewall-cmd --list-port查看防火墙允许被访问的端口开启一个端口firewall-cmd --zone=public --permanent --add-port=80/tcp #开启端口firewall-cmd --reload #重启防护墙...
2020-03-26 19:33:34
3573
原创 内存重叠
内存重叠:拷贝的目的地址在源地址范围内。所谓内存重叠就是拷贝的目的地址和源地址有重叠。void Rtrim(char *buf){ int i = 0; char *p = buf; if (!p) return; while (*p == ' '){ p++; i++; } strcpy(buf, buf + i);}上述代码是将字...
2020-02-23 22:35:03
268
转载 vimplus快捷键
vimplus很好用的vim插件包https://github.com/chxuan/vimplus本文内容来自于.vimplus/help.md插件相关快捷键 说明 , Leader Key <leader>n 打开/关闭代码资源管理器 <leader>t 打开/关闭函数列表 <leader>a .h ....
2020-02-20 21:34:16
339
原创 根据进程名称杀死进程
原文链接 :https://my.oschina.net/u/3412738/blog/2246205ps -ef | grep keyword | grep -v grep | awk '{print $2}' | xargs kill -9逐个分析:1, ps -ef | grep keyword: 查出进程名含有keyword 的所有进程;2, grep -v g...
2020-02-11 22:09:55
715
原创 python re模块
具体细节参考:https://www.cnblogs.com/shenjianping/p/11647473.html提取字符串中的数字列表的操作import restrs="7班20岁3排5座"regex=re.compile(r'\d+')numbers=regex.findall(strs)print(numbers)...
2020-02-06 22:02:01
116
转载 sql 优化建议30条
1.’对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is...
2020-01-20 11:14:00
202
原创 python 装饰器,普通装饰函数修饰类函数
def Dec(func): #1 def wrapper(): print("hello") #3 func() #4 print("world") #5 return wrapper #2@Decdef func(): print("2019-12-31") f...
2019-12-31 17:24:14
560
原创 python 获取指定时间的时间戳
import timestamp=time.mktime(time.strptime('2016-11-24 14:00:21', '%Y-%m-%d %H:%M:%S'))print(int(stamp))Python time strptime() 函数根据指定的格式把一个时间字符串解析为时间元组,返回一个返回struct_time对象。Python time mktime...
2019-12-23 21:12:53
6459
原创 python os.path
首先看下__file__是什么样print(__file__)本机输出为:D:/pycharm/test1/test.py可以看出__file__ 输出为当前文件的pathos.path.dirname(path)1、os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径2、os.path.dirn...
2019-12-20 11:08:19
138
转载 解决pip安装超时的问题
原文章连接:https://blog.youkuaiyun.com/qq_39161804/article/details/81191977使用pip安装python库的时候经常会遇到超时而无法下载的问题,解决办法如下:一,首先在下面文件夹下建立一个pip文件夹C:\Users\Administrator\AppData\Roaming然后在pip文件夹下新建一个文件pip.ini,内容...
2019-12-12 15:51:51
393
原创 shell 遍历文件夹和冒号问题
#!/bin/bash file_url=`pwd` file_list=`ls ${file_url}` ...
2019-11-07 14:57:17
604
原创 python比较两个文件的差异(使用difflib)
import sysimport difflibdef readfile(file1): try: fd=open(file1,"r") text=fd.read().splitlines() #读取之后进行行分割 return text except Exception as e: print("read...
2019-10-30 23:49:20
5465
原创 将列表去重
set()函数创建一个无序不重复元素集,可进行关系测试,删除重复数据,还可以计算交集、差集、并集等。list_=[1,2,3,4,5,6,1,2,3,4]list_=list(set(list_))
2019-10-28 13:06:55
166
原创 python3 16位字符串16进制字符串转整形问题
碰到的这段字符串为一个ip地址,想要转换为整形 ,用int直接转失败str="240E098099000000"python2中有long类型python3中没有long类型,只有int类型所在没办法使用long进行强转方法为int类型(X)转换X到一个普通整数。class int(x, base=10)x – 字符串或数字。base – 进制数,默认十进制。使...
2019-10-21 20:46:54
2640
转载 make_pair
https://blog.youkuaiyun.com/weixin_42825576/article/details/81571419
2019-10-08 10:38:52
135
转载 makefile .d的解释
https://blog.youkuaiyun.com/p312011150/article/details/82852017
2019-10-05 19:27:04
264
原创 python configparser模块
ConfigParser 为py2 模块 在py3 中为configparser 配置文件的格式和window的ini文件相同[section]name=value or name:valuevalue 为字符串类型主要使用的是configparse()下的方法config_test.pyimport osimport configparser# 得到一...
2019-09-20 22:34:49
140
原创 修改linux 的最大打开文件数量
我的系统是Ubuntu 16.04.2 (cat /etc/issue)在/etc/security/目录下,文件名为limits.conf格式为 用户 soft nofile number用户 hard nofile number我的为root soft nofile 10240root hard nofile 10240 me soft n...
2019-09-20 19:37:21
190
原创 linux 设置python3 为默认的执行python
首先删除默认的python,是个软连接sudo rm /usr/bin/python建立新的链接ln -s python3的安装路径 /usr/bin/python
2019-09-15 22:02:07
1576
原创 Makefile总结
:=和=的区别 1、“=” make会将整个makefile展开后,再决定变量的值。也就是说,变量的值将会是整个makefile中最后被指定的值。看例子: x = foo y = $(x) bar x = xyz 在上例中,y的值将会是 xyz bar ,而不是 foo bar 。 2、“:=” “:=”表示变量的值决定...
2019-09-11 16:13:53
95
转载 roundup_pow_of_two的实现
https://blog.youkuaiyun.com/mergerly/article/details/39007987
2019-08-27 14:49:49
2882
转载 彻底搞懂epoll高效运行的原理
https://baijiahao.baidu.com/s?id=1641172494287388070&wfr=spider&for=pc
2019-08-20 15:54:28
155
原创 epoll et 为什么要采用非阻塞
ET 模式是一种边沿触发模型,在它检测到有 I/O 事件时,通过 epoll_wait 调用会得到有事件通知的文件描述符,每于每一个被通知的文件描述符,如可读,则必须将该文件描述符一直读到空,让 errno 返回 EAGAIN 为止,否则下次的 epoll_wait 不会返回余下的数据,会丢掉事件。而如果你的文件描述符如果不是非阻塞的,那这个一直读或一直写势必会在最后一次阻塞...
2019-08-20 15:53:38
1001
转载 为什么TCP服务器的监听套接字要设置为非阻塞
https://blog.youkuaiyun.com/zhwenx3/article/details/88107428
2019-08-20 15:22:18
566
转载 关于迭代器失效的几种情况
https://blog.youkuaiyun.com/qq_37964547/article/details/81160505
2019-08-20 10:31:11
150
转载 C++ lambda表达式入门
https://blog.youkuaiyun.com/a379039233/article/details/83714770
2019-08-19 19:40:15
202
转载 图说C++对象模型:对象内存布局详解
https://www.cnblogs.com/QG-whz/p/4909359.html#_label3_0
2019-08-19 11:16:24
138
原创 Linux jobs bg fg & ctrl+z nohup的使用
jobs查看当前有多少在后台运行的命令jobs -l选项可显示所有任务的PID,jobs的状态可以是running, stopped, Terminated。但是如果任务被终止了(kill),shell 从当前的shell环境已知的列表中删除任务的进程标识。bg将一个在后台暂停的命令,变成在后台继续执行。如果后台中有多个命令,可以用bg %jobnumber将选中的命令调出。f...
2019-06-11 19:59:22
316
转载 五种io模型
在《Unix网络编程》一书中提到了五种IO模型,分别是:阻塞IO、非阻塞IO、多路复用IO、信号驱动IO以及异步IO。1、阻塞IO模型 最传统的一种IO模型,即在读写数据过程中会发生阻塞现象。 当用户线程发出IO请求之后,内核会去查看数据是否就绪,如果没有就绪就会等待数据就绪,而用户线程就会处于阻塞状态,用户线程交出CPU。当数据就绪之后,内核会将数据拷贝到用户线程,并返回结果给用户...
2019-06-06 21:55:45
130
转载 如何限制对象只能建立在堆上或者栈上
在C++中,类的对象建立分为两种,一种是静态建立,如A a;另一种是动态建立,如A* ptr=new A;这两种方式是有区别的。静态建立一个类对象,是由编译器为对象在栈空间中分配内存,是通过直接移动栈顶指针,挪出适当的空间,然后在这片内存空间上调用构造函数形成一个栈对象。使用这种方法,直接调用类的构造函数。动态建立类对象,是使用new运算符将对象建立在...
2019-06-06 09:21:41
191
原创 vim ctags的使用
安装:查询本机是否安装:sudo aptitude show exuberant-ctags安装命令:sudo apt-get installexuberant-ctagsctags --telp呈现参数列表,表示安装成功生成:生成一个tags文件,组织目录内所有.c间函数的调用关系生成方法:1 在项目目录下 ctags ./* -R 2 在任意一个目录内...
2019-05-13 18:29:46
472
原创 leetcode198. 打家劫舍
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你在不触动警报装置的情况下,能够偷窃到的最高金额。示例 1:输入: [1,2,3,1]输出: 4解释: 偷窃 1 号房屋 (金额 = 1) ,然后偷...
2019-04-26 20:47:21
109
原创 二叉树的后序遍历(非递归)
二叉树的后续遍历顺序为先左,后右,再根,我们可以反过来看,如果是先跟,后右,再左,那么和前序遍历,先跟后左,再右十分相似,前序遍历用到栈结构,先放右子树,再放左子树,那么我们可以先放左子树,再放右子树,先做成先根,后右,再左的方式,然后将其反过来(再用一个栈)就将这个问题解决void houxu(Node *root){ stack<Node*> stk; stack<...
2019-04-24 18:25:34
159
原创 297. 二叉树的序列化与反序列化
序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。示例:你可以将以下二叉树:...
2019-04-19 21:32:58
133
原创 144. 二叉树的前序遍历(非递归)
给定一个二叉树,返回它的前序遍历。示例:输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3]进阶:递归算法很简单,你可以通过迭代算法完成吗?解题思路:如图/** * Definition for a binary tree node. * struct TreeNode { *...
2019-04-17 20:22:07
187
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人