windows多线程(六) 互斥量Mutex与关键段CriticalSection比较

一、关键段CS 和 互斥量Mutex 的相同点:都有线程拥有权 关键段和互斥量都有线程拥有权,即可以被一个线程拥有。在 前面讲关键段CS的文章中有说到,关键段结构体的第四个参数保存着拥有该关键段的线程的句柄,具体如下: typedef struct _RTL_CRITICAL_SECTION { PRTL_CRITICAL_SECTION_DEBUG DebugInfo; // // The following three fields control enter
分类: 其他 发布时间: 05-16 23:56 阅读次数: 12

原子变量和自旋锁

这一章节想要大家学习的就是在多进程或者多线程下:如何不冲突的访问同一个文件或者是同一段共享资源: 有如下几个机制需要大家来学习:   原子变量:     普通变量count++:看起来是一句话:实际是三个步骤:第一:首先要把这个变量在内存当中取到CPU:第二:把这个变量进行++;第三:把这个变量的值送回内存:所以这是分了三个步骤:每一个步骤都有可能被打断,所以对这个值的操作不原子.     原子:即一气呵成:一旦成功,则所有过程都成功,一旦失败,所有过程都失败.所以原子变量并不是不可被打断的.
分类: 其他 发布时间: 05-16 23:56 阅读次数: 9

svn更新文件失败,只更新下一个空文件夹

svn更新文件的只更新到空文件夹,而里面的文件或者子文件夹未更新到,导致项目报错 解决方法:   进入项目目录找到空文件夹,使用小乌龟右键Repo-browser浏览svn服务器项目,选中更新下的那个空文件夹check out即可。
分类: 其他 发布时间: 05-16 23:56 阅读次数: 17

Paxos一致性算法(三)

一、概述: Google Chubby的作者说过这个世界只有一种一致性算法,那就Paxos算法,其他的都是残次品。 二、Paxos算法: 一种基于消息传递的高度容错性的一致性算法。 Paxos:少数服从多数,解决最终一致性问题. 三、三种角色: Proposer(议案提交者) Acceptor(议案接收者) Learner(学习者) ...待续
分类: 其他 发布时间: 05-16 23:56 阅读次数: 14

DirectUpdateHandler2 Solr commit

CommitTracker 构造了autocommit和autosoftcommit public final class CommitTracker implements Runnable { CommitTracker实现了runnable接口,根据solrconfig配置进行初始化 int docsUpperBound = updateHandlerInfo.autoCommmitMaxDocs; // getInt("updateHandler/autoCommit/maxDocs",
分类: 其他 发布时间: 05-16 23:56 阅读次数: 20

OA Framework or ADF?

refer to:https://blogs.oracle.com/stevenchan/oa-framework-or-adf By: Guest Author [Editor Update 4/22/2008: A new whitepaper from the Oracle Appliations Technology Group comparing OAF and ADF is now available. See this article for more details.] [Ju
分类: 其他 发布时间: 05-16 23:56 阅读次数: 15

hdu-2879 hehe---积性函数

题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2879 题目大意: he[n]为小于n且满足x^2 = x (mod n)的个数 hehe[n] = He[1]*……*He[N] 解题思路: 1.证明p是素数时He[p]=2. x^2=x(mod p)—->p|x(x-1).因为x<p所以p不整除x也不整除x-1.所以成立的情况下是x=1或者x=0. He[p^k]=2,证明类似上面的 2.证明对于不同的两个素数p和q,He[p*q]=4=He
分类: 其他 发布时间: 05-16 23:56 阅读次数: 15

C#自学总结_Day2

面向对象概念: 1.把具有相同属性和相同方法的对象进行进一步封装,抽象出的这个概念,类就是这个模子,确定对象应具有的属性和方法。 2.对象是根据类创建出来的(对象可叫类的实例)。 3.写好一个类,需创建类的对象,实现类的实例化。语法:类 实例名=new 类(); 4.属性:保护字段,对字段赋值和取值进行限定。(get和set,见补充) 5.继承:一个类派生多个类或者接口,进行父类初始化,C#不能直接实现多重继承,通过接口实现,关键字Interface。(有各种方法继承,稍后补充) 6.多态:一
分类: 其他 发布时间: 05-16 23:56 阅读次数: 16

记一次RAID阵列的迁移经历

xu言: 最近,某电信机房因为空调漏水问题导致了我司的Dell R430 服务器的主板及CPU不同程度受损。服务器已经不能正常开机。但是,又基于把服务器的数据需要最短时间进行恢复。抱着试试看的心里进行了磁盘整体迁移到备机上面(相同型号阵列卡,相同型号服务器,仅批次不同) Dell PowerEdge RAID控制器(PERC) 9系列的阵列卡做了一番调查:(数据来自Dell官方网站) 型号 接口 支持 PCI支持 SAS 接口 高速缓存 大小 回写 高速缓存 RAID级别 硬盘最大数量 支持
分类: 其他 发布时间: 05-16 23:56 阅读次数: 15

java中的访问控制符

首先来一张图: 对于一个类而言访问控制符只有一个public和默认无修饰符。其他的几个访问修饰符对于变量和方法都可以使用。 下面介绍具体的使用。 1. 公有访问控制符(public) Java的类是通过包的概念来组织的,包是类的一个松散的集合。处于同一个包中的类可以不需要任何说明二方便地相互访问和引用,而对于不同包中的类,则不行。 但如果一个类被声明为public时,它就具有了被其他包中的类访问的可能性,只要这些其他包中的类在程序中使用了import语句引入了public类,就可以访问和引用这
分类: 其他 发布时间: 05-16 23:56 阅读次数: 15

基于iView的列表组件封装

封装的好处多多,代码便于维护、减少代码量、减少BUG 前台封装以前没有尝试过,这回试试,哈哈 目录 1、列表组件封装 2、树组件封装 3、下拉框组件封装 4、上传组件封装 列表组件的API 属性 说明 类型 默认值 url 请求列表数据的地址 必填 String 无 pagingOption 列表底部是否显示分页信息及总数,有两个配置项 showPaging、showTotal Object 显示分页及总数信息 cols 列定义 必填 Array 无 height   列表高度 选填 Numb
分类: 其他 发布时间: 05-16 23:56 阅读次数: 16

IDEA 初始配置教程

IDEA 初始配置教程 如果你是第一次使用 IDEA,或者对 IDEA 常用配置仍然不熟悉,那么本文就特别适合你。 本文只是根据我自己的使用经验来进行配置,不一定适合所有的情况,但是对你肯定会有帮助。 IDEA 官方地址 https://www.jetbrains.com/idea/ 官方提供免费的【社区版】,还有收费的【高级版】(可以免费试用 1 个月)。 下面的设置针对【高级版】进行设置,【社区版】由于功能不完整,所以设置也会有所不同,这里不做介绍。 初始启动界面 如果你第一次安装使用,首
分类: 其他 发布时间: 05-16 23:56 阅读次数: 16

3.高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建

高并发教程-基础篇-之分布式全文搜索引擎elasticsearch的搭建 如果大家看了我的上一篇《2.高并发教程-基础篇-之nginx+mysql实现负载均衡和读写分离》文章,如果能很好的利用,那么其实已经可以轻松日抗千万级别的访问量了,但是如果业务涉及查询比较多,查询条件比较丰富,又或者我就想要查询的响应更快点,那么在mysql上面去做优化,其实比较辛苦,有没有更好的解决方案呢?答案是肯定的!它就是我们今天的主角,分布式全文搜索引擎elasticsearch. 技巧提示:mysql集群层主要
分类: 其他 发布时间: 05-16 23:56 阅读次数: 16

Delphi中的DBGrid控件

在Delphi中,DBGrid控件是一个开发数据库软件不能不使用的控件,其功能非常强大,可以配合SQL语句实现几乎所有数据报表的显示,操作也非常简单,属性、过程、事件等都非常直观,但是使用中,有时侯还是需要一些其他功能,例如打印、斑马纹显示、将DBGrid中的数据转存到Excel97中等等。这就需要我们定制DBGrid,以更好的适应我们的实际需要。本人根据使用Delphi的体会,定制了DBGrid,实现了以上列举的功能,对于打印功能则是在DBGrid的基础上联合QuickReport的功能,直
分类: 其他 发布时间: 05-16 23:56 阅读次数: 14

自我救赎之路—Java(HttpClient请求)

获取接口数据,(Get/Post)最近开发了一个数据服务器接口,想着通过什么方式来获取接口数据,因为我知道C#是用的webrequest,所以想着java肯定也有类似的都西,整理如下: 代码如下 package com.bom.dataservice.utils;import com.alibaba.fastjson.JSONObject; import org.apache.http.HttpRe
分类: 其他 发布时间: 05-16 23:56 阅读次数: 17

自我救赎之路—(生成图标随机数)

生成图表点数据,模拟数据,随机数 java 生成int,double 随机数,代码如下: package com.bom.dataservice.utils;import java.text.DecimalFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.*;/
分类: 其他 发布时间: 05-16 23:56 阅读次数: 16

自我救赎之路—(springboot 配置多种数据源)

配置连接多个数据库 说明,最近要做一个数据处理服务器,一方面是要调用数据服务器自己的数据库,另一方面是要调用业务数据库. .net分分种钟搞定,但是这个springboot 不太了解,说真的,我是在网上早的,但还是整理一下。 1. 先来贴pom.xml 文件内容:<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven
分类: 其他 发布时间: 05-16 23:55 阅读次数: 13

Mysql的用户和权限管理

– 用户管理 – use mysql;– 查看 –select host,user,password from user ; – 创建 – create user cwm IDENTIFIED by ‘chenwangming’; #identified by 会将纯文本密码加密作为散列值存储– 修改 – rename user cwm to cwmd
分类: 其他 发布时间: 05-16 23:55 阅读次数: 14

Python-Django 开发

在要创建的文件中 使用命令 django-admin 创建项目 django-admin startproject myblog 查看目录 dir 启动服务 python manage.py runserver 创建应用 python manage.py startapp blog5.1 创建好应用要设置venv 虚拟环境 urls.py 配置页面路径 setting.py 配置各种
分类: 其他 发布时间: 05-16 23:55 阅读次数: 16

创建24小时(JavaScript)

根据当前时间创建24小时 之前经常会用到图表底部X轴用24小时获取是时间轴来表示,所以就记录一下JavaScript的24小时生成: js代码 //获取当前时间 function CurentTime(now) { //var now = new Date(); var year = now.getFullYear(); //年 var ...
分类: 其他 发布时间: 05-16 23:55 阅读次数: 13