码迷,mamicode.com
首页 > 编程语言
代码解说多线程互斥与同步通信问题
参考 张孝详系列 场景 编写一个程序:子线程连说 3 次  “ 你愿意吗?” ,接着主线程连续回答 10次 “我愿意” ,然后子线程再说3次“你愿意吗?”,主  线程回答“我愿意” 10次 。。。 轮流如此往复执行 10次。 分析 “连说 3 次”,“连续回答” 意味着互斥-主线程执行的时候,子线程不能执行;子线程执行的时候,主线程不能执行。 “轮流往复”意味着同步-...
分类:编程语言   时间:2016-05-07 09:36:35    阅读次数:165
python学习2016.4.1
(1)pandas.Series.value_counts:返回对象中包含唯一值个数, Series.value_counts(normalize=False, sort=True, ascending=False, bins=None,dropna=True) 参数: normalize : boolean, default False 如果True则返回coun...
分类:编程语言   时间:2016-05-07 09:35:42    阅读次数:187
字符串匹配算法
字符串匹配(string match)是在实际工程中经常会碰到的问题,通常其输入是原字符串(String)和子串(又称模式,Pattern)组成,输出为子串在原字符串中的首次出现的位置。通常精确的字符串搜索算法包括暴力搜索(Brute force),KMP, BM(Boyer Moore), sunday, robin-karp 以及 bitap。下面分析这几种方法并给出其实现。假设原字符串长...
分类:编程语言   时间:2016-05-07 09:34:32    阅读次数:129
More Effective C++----(20)协助完成返回值优化
Item M20:协助完成返回值优化 一个返回对象的函数很难有较高的效率,因为传值返回会导致调用对象内的构造和析构函数(参见条款M19),这种调用是不能避免的。问题很简单:一个函数要么为了保证正确的行为而返回对象要么就不这么做。如果它返回了对象,就没有办法摆脱被返回的对象。就说到这。 考虑rational(有理数)类的成员函数operator*:(返回类型为const是为了防止连续...
分类:编程语言   时间:2016-05-07 09:32:54    阅读次数:237
Java正则表达式获得字符串中数字
下面通过一个小范例来学习如何获得一个字符串中的数字import java.util.regex.Matcher; import java.util.regex.Pattern; public class test { public static void main(String[] args) { String strInput = "3a7s10@5d2a6s17s56;3...
分类:编程语言   时间:2016-05-07 09:32:45    阅读次数:154
【Spring MVC】Spring MVC,阻止直接访问jsp,使用Interceptor登录拦截
问题描述: 在Java Web项目中,用户可访问Url一般只有一个,即index或login。而用户的其他Url请求都会引导到index页。如何来避免未登录用户直接访问Spring的Conroller和jsp文件? 解决方案: 一、阻止用户访问jsp。 Spring的MVC模式是不提倡直接通过URL形式访问.jsp页面的,建议通过Controller跳转至View页面。 ...
分类:编程语言   时间:2016-05-07 09:32:45    阅读次数:858
C语言数组元素下标为何从0开始
很多同学可能在学习数组时会有这个疑问,下标为什么不从1开始呢?从1开始不是更符合大家的日常习惯吗?生活中我们通常说第1个,而不是第0个。的确,有些计算机语言如早期的Pascal语言,数组元素的下标是从1开始的。难道是C语言故意要与众不同?要弄清楚这个问题,得先看一下计算机底层是怎样处理数组元素的。我们先编写了一个小程序,然后在visual studio中对其进行了反汇编。源程序和反汇编后的部分...
分类:编程语言   时间:2016-05-07 09:34:02    阅读次数:430
DayDayUP_Python自学记录[10]_迭代
什么是迭代在Python中,如果给定一个list或tuple,我们可以通过for循环来遍历这个list或tuple,这种遍历我们成为迭代(Iteration)。在Python中,迭代是通过 for … in 来完成的,而很多语言比如C或者Java,迭代list是通过下标完成的,比如Java代码:for (i=0; i<list.length; i++) { n = list[i]; }可以看...
分类:编程语言   时间:2016-05-07 09:30:20    阅读次数:211
java多线程入门
首先讲一下进程和线程的区别:   进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开销,一个进程包含1--n个线程。   线程:同一类线程共享代码和数据空间,每个线程有独立的运行栈和程序计数器(PC),线程切换开销小。   线程和进程一样分为五个阶段:创建、就绪、运行、阻塞、终止。   多进程是指操作系统能同时运行多个任务(程序)。   多...
分类:编程语言   时间:2016-05-07 09:31:27    阅读次数:186
C++标准库中next_permutation和pre_permutation实现原理
标准库中next_permutation函数:找当前序列中元素排列的下一个排列,按照字典顺序进行排列。比如说数组排列"123",那么它的下一个排列为"132",并且返回true。如果当前序列没有下一个排列,我们返回false,且把当前排列置为最小的排列,比如说:排列"321",因为该排列已经是最大的排列,所以它没有下一个排列。我们把该排列置为"123",并且返回false。 标准库实现两...
分类:编程语言   时间:2016-05-07 09:31:27    阅读次数:240
56. Merge Intervals-leetcode-java
【原来在SAE的blog上,都转到CSDN了。。】 56. Merge Intervals-leetcode-java 发表于 2016/02/08 题意 Given a collection of intervals, merge all overlapping intervals. For example, Given [1,3],[2,6]...
分类:编程语言   时间:2016-05-07 09:31:37    阅读次数:208
HDU 1556-Color the ball(树状数组-区间修改 单点查询)
Color the ball Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 15491    Accepted Submission(s): 7731 Problem Description N个气球排成一排,从左到右依...
分类:编程语言   时间:2016-05-07 09:27:55    阅读次数:141
【Linux程序员福音】在Visual Studio上用C++写Linux
如今我们正在开发一个新的插件,一个能够让开发者在 Visual Studio (以下简称 VS ) 上建构能够在 Linux 上运行 C++ 程序的套件。下方文章将继续介绍使用我们这套全新的 Linux 计划。...
分类:编程语言   时间:2016-05-07 09:30:37    阅读次数:201
21. Merge Two Sorted Lists-leetcode-java
【原来在SAE的blog上,都转到CSDN了。。】 21. Merge Two Sorted Lists-leetcode-java 发表于 2016/02/05 题目 Merge two sorted linked lists and return it as a new list. The new list should be made by spl...
分类:编程语言   时间:2016-05-07 09:27:23    阅读次数:172
深入理解Java的4种引用类型
首先大家应该都知道Java从1.2起提供了四种引用类型,他们分别是其引用(StrongReference),软引用(SoftReference),弱引用(WeakReference)以及PhantomReference(虚引用),他们被GC回收的可能性从大到小排列。如下图可以看到Reference是继承自Object,而又有三个直接的子类,就是我们要介绍的几个类了。另外还有一个Reference...
分类:编程语言   时间:2016-05-07 09:27:01    阅读次数:230
c++实验5——项目2: 教师干部类
一,问题及代码 /* 文件名称:教师干部类.cpp 作者 :汤俊鹏 日期 :2016.5.6 平台 :visual c++ 6.0 项目名称:教师干部类 问题详情: 分别定义Teacher(教师)类和Cadre(干部)类,采用多重继承方式由这两个类派生出新类Teacher_Cadre(教师兼干部)。 要求: (1)在两个基类中...
分类:编程语言   时间:2016-05-07 09:26:19    阅读次数:199
More Effective C++----(18)分期摊还期望的计算
Item M18:分期摊还期望的计算 在条款M17中,我极力称赞懒惰的优点,尽可能地拖延时间,并且我解释说懒惰如何提高程序的运行效率。在这个条款里我将采用一种不同的态度。这里将不存在懒惰。我鼓励你让程序做的事情比被要求的还要多,通过这种方式来提高软件的性能。这个条款的核心就是over-eager evaluation(过度热情计算法):在要求你做某些事情以前就完成它们。例如下面这个模...
分类:编程语言   时间:2016-05-07 09:22:50    阅读次数:172
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!