摘要: 1、基本概念 信号量是由操作系统管理的一种抽象数据类型,用于在多线程中同步对共享资源的使用。本质上说,信号量是一个内部数据,用于标明当前的共享资源可以有多少并发读取。 同样在threading中,信号量有acquire和release两个函数。 - 每当线程想要读取关联了信号量的共享资源时,必须调用 阅读全文
posted @ 2018-10-11 14:28 杜先生的博客 阅读(1967) 评论(0) 推荐(0) 编辑
摘要: 1、基本概念 如果想让只有拿到锁的线程才能释放该锁,那么应该使用RLock()对象。当需要在类外面保证线程安全,又要在类内使用同样方法的时候RLock()就很使用。 RLock叫做Reentrant Lock,就是可以重复进入的锁,也叫递归锁。这种锁对比Lock有三个特点:1、谁拿到锁,谁释放;2、 阅读全文
posted @ 2018-10-11 11:01 杜先生的博客 阅读(1087) 评论(0) 推荐(0) 编辑
摘要: 1、基础概念 当两个或以上对共享内存操作的并发线程中,如果有一个改变数据,又没有同步机制的条件下,就会产生竞争条件,可能会导致执行无效代码、bug等异常行为。 竞争条件最简单的解决方法是使用锁。锁的操作非常简单,当一个线程需要访问部分共享内存时,它必须先获得锁才能访问。此线程对这部分共享资源使用完成 阅读全文
posted @ 2018-10-10 16:51 杜先生的博客 阅读(860) 评论(0) 推荐(0) 编辑
摘要: 1、介绍 软件应用中使用最广泛的并行编程范例是多线程。通常一个应用有一个进程,分成多个独立的线程,并行运行、互相配合,执行不同类型的任务。 线程是独立的处理流程,可以和系统的其他线程并行或并发地执行。多线程可以利用共享内存空间共享数据和资源。线程和进程的具体实现取决于你要运行的操作系统,但是总体来讲 阅读全文
posted @ 2018-10-10 11:54 杜先生的博客 阅读(906) 评论(0) 推荐(0) 编辑
摘要: 1、线程和进程 进程是应用程序的一个执行实例,比如,在桌面上双击浏览器将会运行一个浏览器。线程是一个控制流程,可以在进程内与其他活跃的线程同时执行。控制流程指的是顺序执行一些机器指令。进程可以包含多个线程,所以开启一个浏览器,操作系统将创建一个进程,并开始执行这个进程的主线程。每一个线程将独立执行一 阅读全文
posted @ 2018-10-09 11:35 杜先生的博客 阅读(2645) 评论(0) 推荐(1) 编辑
摘要: 1、源码包下载 2、编译安装 3、安装成功如下 4、创建配置文件 5、创建MySQL库 6、启动数据库 7、登录数据库 8、官方文档 阅读全文
posted @ 2018-09-04 15:17 杜先生的博客 阅读(528) 评论(0) 推荐(0) 编辑
摘要: 二、优化数据库对象 1、优化表的数据类型 应用设计的时候需要考虑字段的长度留有一定的冗余,但不推荐很多字段都留有大量的冗余,这样既浪费磁盘空间,也在应用操作时浪费物理内存。 在MySQL中,可以使用函数PROCEDURE ANALYSE()对表进行分析,给出优化建议。(16, 256)是指不为包含的 阅读全文
posted @ 2018-08-27 14:55 杜先生的博客 阅读(1281) 评论(0) 推荐(2) 编辑
摘要: 一、SQL优化 1、优化SQL一般步骤 1.1 查看SQL执行频率 SHOW STATUS LIKE 'Com_%'; Com_select:执行SELECT操作的次数,一次查询累加1。其他类似 以下参数只针对InnoDB存储引擎,累加算法略有不同 Innodb_rows_read:SELECT查询 阅读全文
posted @ 2018-08-22 11:42 杜先生的博客 阅读(23544) 评论(0) 推荐(4) 编辑
摘要: 1、添加硬盘 2、刷新服务器文件系统 新添加的硬盘需要刷新文件系统,要不然不能识别新添加的硬盘。 对scsi_host进行重新扫描,查找 scsi 驱动器的号 驱动号为scsi后面的数字,即为2,此时看不懂新添加的硬盘 执行刷新: echo "- - -" > /sys/class/scsi_hos 阅读全文
posted @ 2018-08-22 10:20 杜先生的博客 阅读(3604) 评论(0) 推荐(0) 编辑
摘要: 1、问题描述 MySQL服务器卡死,CPU飚到300%多,命令执行缓慢。 2、问题定位 踩了狗屎运,直接找到了问题缘由 发现了一条SQL写的模糊匹配,将%写在了关键字的前面,这样会造成查询不使用索引,全表扫描 使用EXPLAIN发现这个SQL扫描了两千多万行。。。 3、问题解决 最终确认是应用写错了 阅读全文
posted @ 2018-08-21 11:58 杜先生的博客 阅读(853) 评论(0) 推荐(0) 编辑