Semaphore类表示信号量。
信号量和互斥类似,只是信号量可以同时由多个线程使用,而互斥只能由一个线程使用。也就是说,使用信号量时,可以多个线程同时访问受保护的资源。下面实例演示了“学生到食堂就餐”的场景,一共有10个学生需要就餐,但是食堂每次只能接纳4名学生就餐,所以将信号量的计数设置为4,每次有4个任务(就餐任务)可以获得锁定。剩下的学生就必须等待,等到锁定被解除时,学生才可以继续获得锁...
分类:
编程语言 时间:
2015-05-26 12:45:52
阅读次数:
166
python多线程有几种实现方法,都是什么?
目前python 提供了几种多线程实现方式 thread,threading,multithreading ,其中thread模块比较底层,而threading模块是对thread做了一些包装,可以更加方便的被使用。2.7版本之前python对线程的支持还不够完善,不能利用多核CPU,但是2.7版本的python中已经考虑改进这...
分类:
编程语言 时间:
2015-05-26 12:42:48
阅读次数:
113
线程的让步,调用静态方法Thread.yield();可以让线程暂时让出cpu占用,然而让出时间和什么时候并不可以控制
package cn.thread;
public class ThreadYield {
public static void main(String[] args) {
ThreadYield threadYield = new ThreadYiel...
分类:
编程语言 时间:
2015-05-26 12:44:45
阅读次数:
126
这一系列博客的特点就是——给出每趟排序的结果
本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。
#include
void ShellSort(int *m, int n)
{
int i,flag,gap;
for(gap=n;gap!=1;)
{
gap/=2;
do
{
...
分类:
编程语言 时间:
2015-05-26 12:42:12
阅读次数:
146
这一系列博客的特点就是——给出每趟排序的结果
本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好。《算法导论》上面那个比喻,比做打扑克牌的插入新牌,就比较形象。所以这些博客就算是对自己的总结吧。
#include
void InsertSort(int *m, int n)
{
int i,j,temp;
for(i...
分类:
编程语言 时间:
2015-05-26 12:40:30
阅读次数:
148
上篇博客我们介绍了一些基本概念,进程、线程、并发。下面我们开始写第一个多线程的程序。
两种方式:一、实现Runnable接口;二、基础Thread类。
一、实现Runnable接口
package com.tgb.klx.thread;
public class hello1 implements Runnable {
public hello1() {
}
pub...
分类:
编程语言 时间:
2015-05-26 12:40:40
阅读次数:
168
冒泡排序是在高中时代就接触到的一种排序,较为简单,相对其它排序要容易理解
这一系列博客的特点就是——给出每趟排序的结果
本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。
#include
void BubbleSort(int *m, int n)
{
int i,j;...
分类:
编程语言 时间:
2015-05-26 12:41:20
阅读次数:
131
感觉《算法导论》上面的那个例子要更容易理解,因为那个最起码比较直观!
#include
int a[10]={2,8,5,7,4,3,1,9,6,10};
void QuickSort(int m, int n)
{
int s,begin,end;
if(m>n)
return;
begin=m;
end=n;
s...
分类:
编程语言 时间:
2015-05-26 12:40:15
阅读次数:
114
这一系列博客的特点就是——给出每趟排序的结果
本来想着好好写一下过程,弄个图片什么的,不过觉得网上的解析太多了,都比较好,所以这些博客就算是对自己的总结吧。
#include
void SelectSort(int *m, int n)
{
int i,j,k,temp;
bool flag;
for(i=0;i<n-1;i++)
...
分类:
编程语言 时间:
2015-05-26 12:39:15
阅读次数:
119
java web如何结合redis?
**********第一步:安装redis到linux服务器.
因为redis依赖tcl,所以首先需要安装tcl.
将tcl8.5.10-src.tar.gz拷贝到/opt/tcl目录下执行如下指令:
iluckysi@ILUCKYSI-PC:~/tcl# tar -zxvf tcl8.5.10-src.tar.gz
iluckysi@ILUCKYSI-P...
分类:
编程语言 时间:
2015-05-26 12:39:37
阅读次数:
183
一.IoC的基础知识以及原理:
1.IoC理论的背景:在采用面向对象方法设计的软件系统中,底层实现都是由N个对象组成的,所有的对象通过彼此的合作,最终实现系统的业务逻辑。即软件系统中对象之间的耦合,对象A和对象B之间有关联,对象B又和对象C有依赖关系,这样对象和对象之间有着复杂的依赖关系,所以才有了控制反转这个理论。
2.什么是控制反转(IoC):
(1).IoC是Inver...
分类:
编程语言 时间:
2015-05-26 12:41:01
阅读次数:
126
迭代器根本上说, 迭代器就是有一个 next() 方法的对象迭代器可用内建的iter方法创建>>> i = iter('abc')>>> i.next()'a'>>> i.next()'b'>>> i.next()'c'对类可用__iter__和next()创建迭代器class Fib(object...
分类:
编程语言 时间:
2015-05-26 12:37:08
阅读次数:
128
NLS Information for Windows 7LCIDCulture IdentifierCulture NameLocaleLanguage Country/RegionLanguageLocallanguage nameANSIcodepageOEMcodepageCountry o...
分类:
编程语言 时间:
2015-05-26 12:36:18
阅读次数:
143
学习总结1、缓冲区分为完全缓冲区(fully buffered)I/O和行缓冲区(line-buffered)I/O。对完全缓冲输入来说,当缓冲区满的时候会被清空(缓冲区内容发送至其目的地)。这类型的缓冲区通常出现在文件输入中。对于行缓冲I/O来说,遇到一个换行字符时将被清空缓冲区,键盘输入是标准的...
分类:
编程语言 时间:
2015-05-26 12:34:57
阅读次数:
200
function _browser() { var ieAX = window.ActiveXObject; var ieMode = document.documentMode; var ieVer = _getIeVersion() || ieMode ...
分类:
编程语言 时间:
2015-05-26 12:35:14
阅读次数:
145
学习redis 字典结构,hash找槽位 求槽位的索引值时,用到了 hash值 & sizemask操作,其后的scan操作涉及扫描顺序逻辑,对同模的槽位 按一定规则扫描!其中涉及位运算 & 和 %操作之间的关系!故整理学习资料如下:原文引自:http://blog.sina.com.cn/s/bl...
分类:
编程语言 时间:
2015-05-26 12:34:04
阅读次数:
664
1: JAVA经典算法40题 2: 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 3: 1.程序分析: 兔子的规律为数列1,1,2,3,5,8,13,21.... ...
分类:
编程语言 时间:
2015-05-26 12:33:53
阅读次数:
141