自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 数据库查询一些小练习和注意事项

表一 student表结构mariadb root@localhost:bit_student> desc student -> ;+---------+-------------+------+-----+---------+----------------+| Field | Type ...

2018-06-30 16:51:07 325

原创 Centos 安装 mysql命令行补全和语法高亮工具 mycli

mysql自带的命令行没有补全功能, 而且没有语法高,用起来很不方便github上的开源地址: https://github.com/dbcli/mycli首先安装pip$ sudo yum install python-pip然后安装myclisudo pip install mycli软件示意图 有没有vim 中You complete me的感觉, 感...

2018-06-30 14:27:44 1390

原创 [LinuxServerCode] 对于Epoll et+多线程下ONESHOT字段的作用

可以看出ONESHOT的作用就是在任意时刻,一个socket只能由一个线程处理

2018-06-23 10:49:26 683

原创 记录一次解题过程,矩阵中的路径

题目请设计一个函数,用来推断在一个矩阵中是否存在一条包括某字符串全部字符的路径。路径能够从矩阵中随意一格開始。每一步能够在矩阵中间向左、右、上、下移动一格。假设一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。如下比如在以下的3*4的矩阵中包括一条字符串”bcced”的路径。但矩阵中不包括字符串“abcb”的路径,因为字符串的第一个字符b占领了矩阵中的第一行第二格子之后...

2018-06-18 21:50:14 241

原创 [LinuxServerCodes] 网络聊天室使用共享内存和多进程处理(服务器端)

使用了统一事件源管理 信号和IO 详细实现请见注释 特点: 多个进程共享同一个内存进行读写,效率快, 而且往不同区域写入是通过客户端下标 1, 2, 3 控制的(没有覆盖问题) 而且读数据不会破坏数据(没有竟态条件) 所以此临界区不需要加锁,效率高#include <sys/socket.h>#include <netinet/in.h>#include ...

2018-06-18 12:51:57 390

原创 [LiunxServerCodes]定时器的总结

定时器服务器需要定时的监测不活跃的客户端并且将其关闭SIGALRM信号我们可以使用SIGALRM信号作为检测周期,例如我们注册一个5秒的alarm信号alarm(5);那么每过5秒,就会触发信号,并且我们可以使用sigaction注册该信号,然后通过回调函数处理掉不活跃的文件描述符void sig_handler( int sig ){ int sav...

2018-06-16 21:08:43 207

转载 一些IO函数在阻塞和非阻塞方式下返回值的区别

recv:阻塞与非阻塞recv返回值没有区分,都是 <0:出错,=0:连接关闭,>0接收到数据大小,特别:非阻塞模式下返回 值 <0时并且(errno == EINTR || errno == EWOULDBLOCK || errno == EAGAIN)的情况 下认为连接是正常的,继续接收。只是阻塞模式下recv会阻塞着接收数据,非阻塞模式下如果没有数据会返回,不会...

2018-06-15 18:38:01 873

原创 C++ typedef typename 作用

出处 https://blog.csdn.net/zhangxiao93/article/details/50569924C++ typedef typename 作用C++的一些语法让人看着费解,其中就有:typedef typename std::vector<T>::size_type size_type;详见《C++ Primer》(第五版)P584 ...

2018-06-14 09:47:57 254

转载 B+Tree/Hash_Map/STL Map三种数据结构性能

Hash操作能根据散列值直接定位数据的存储地址,设计良好的hash表能在常数级时间下找到需要的数据,但是更适合于内存中的查找。B+树是一种是一种树状的数据结构,适合做索引,对磁盘数据来说,索引查找是比较高效的STL_Map的内部实现是一颗红黑树,但是只是一颗在内存中建立二叉树树,不能用于磁盘操作,而其内存查找性能也比不上Hash查找。因此对于内存中数据,查找性能较好的数据结构是Hash...

2018-06-10 15:49:51 751

原创 Linux网络编程的惊群问题

什么是惊群在网络编程中,使用多进程/线程 等待同一个sock事件,当一个sock时间到来时,会唤醒所有进程,但是只有一个进程会获得sock处理权,那么其他进程又会继续被阻塞,这样在进程状态切换上会造成性能损失. linux内核2.6以后已经修复 accept 和select惊群问题,epoll由于内核无法判断该由哪个进程去相应事件,所以不予处理 但是在Nginx中,使用互斥锁来解决epo...

2018-06-09 09:59:33 265

原创 c++ 中为什么复制构造函数的形参必须是一个引用

class myclass//一个简单的类{};myclass a 这样通过myclass 的构造函数创建了一个myclass的对象, 同样样在函数传参的时候void fun(myclass a)参数a也必须调用myclass的构造函数来生成对象,那么在一个类的拷贝构造函数中写出了这样形式class myclass{ myclass(myclass ...

2018-06-03 16:09:13 1071

转载 Linux进程、线程模型,LWP,pthread_self()

文章出处: https://blog.csdn.net/tianyue168/article/details/7403693/ 一.定义关于进程、轻量级进程、线程、用户线程、内核线程的定义,这个很容易找到,但是看完之后你可以说你懂了,但实际上你真的明白了么?在现代操作系统中,进程支持多线程。进程是资源管理的最小单元;而线程是程序执行的最小单元。一个进程的组成实体可以分为两大部分:线...

2018-06-02 20:09:54 563

转载 fork,vfork,clone与pthread_create之间的区别

进程是一个指令执行流及其执行环境,其执行环境是一个系统资源的集合,这些资源在Linux中被抽 象成各种数据对象:进程控制块、虚存空间、文件系统,文件I/O、信号处理函数。所以创建一个进程的过程就是这些数据对象的创建过程。在调用系统调用fork创建一个进程时,子进程只是完全复制父进程的资源,这样得到的子进程独立于父进程,具有良好的并发性,但是二者之间的通讯需要通过专门的通讯机制,如:p...

2018-06-02 11:06:48 1730

原创 github 无法push pull fetch 的问题

gitpush的时候出现 ssh_exchange_identification: Connection closed by remote host fatal: Could not read from remote repository.Please make sure you have the correct access rights and the repository ex...

2018-06-01 21:28:45 1687

原创 一道关于fork的面试题

#include <stdio.h>#include <sys/types.h>#include <unistd.h>int main(){ pid_t pid1; pid_t pid2; pid1 = fork(); pid2 = fork(); printf("pid1:%d, pid2:%d\n", p...

2018-06-01 12:10:29 729 2

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除