自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(244)
  • 资源 (32)
  • 收藏
  • 关注

原创 C# 并行编程 之 并发集合 (.Net Framework 4.0)

此文为个人学习《C#并行编程高级教程》的笔记,总结并调试了一些文章中的代码示例。 在以后开发过程中可以加以运用。对于并行任务,与其相关紧密的就是对一些共享资源,数据结构的并行访问。经常要做的就是对一些队列进行加锁-解锁,然后执行类似插入,删除等等互斥操作。 .NetFramework 4.0 中提供了一些封装好的支持并行操作数据容器,可以减少并行编程的复杂程度。基本信息

2015-05-08 10:15:29 28139

原创 C# 并行编程 之 命令式任务并行 (.Net Framework 4.0)

此文为个人学习C#并行编程高级教程的笔记,总结并调试了一些文章中的代码示例。 在以后开发过程中可以加以利用。

2015-04-22 08:58:21 3356

原创 C#中 一个多线程框架

c#提供了丰富的多线程操作,为编程带来了极大的便利,但如果使用不当也会带来各种各样的麻烦。这里把C#中多线的操作进行了一下简单的封装,使它对外提供的接口简洁,易于控制。保留一下的代码片段,以备日后查用。using System;using System.Collections.Generic;using System.Text;using System.Threa

2015-04-20 08:26:55 7140

原创 C++ 大规模程序设计 之 全局名称空间

《大规模C++程序设计》 总结。对于大中型项目来说,全局变量,全局函数总是在所难免。而且让人又爱又恨。用的好省时省力,用的不好陷阱重重,程序无法维护。《大规模C++程序设计》书中总结了几种解决方式,这里把他们解决方式和实例代码保留在这里以便以后查用。

2015-04-09 09:56:25 878

原创 C++ pthread cond_wait 和 cond_broadcast的使用

一个简单的实例程序,说明pthread_cond_wait 和 pthread_cond_broadcast 的使用方式。函数定义:int pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex)int pthread_cond_broadcast(pthread_cond_t *cond)函

2015-03-12 22:23:14 4893

原创 C++ pthread 信号量及detach的使用

通过一个简单的例子,总结一下pthread中信号量的使用方式以及使用pthread_detach和使用pthread_join的区别。以备以后查阅。涉及到的函数:int pthread_kill(pthread_t thread, int sig) :向线程发送一个信号,参数分别为线程ID和信号量。在线程内部可以对信号进行处理,当然也有一些系统默认的出来方式。比如发送信号SIGQU

2015-03-07 11:26:34 4039

原创 C++ 用类封装 pthread

一个项目中需要用到pthread,发现把它封装到类中使用起来更加的方便。这里保存了实例代码,以备以后使用。头文件中定义了ThreadBase类,它包含了线程基本的一些接口,start()  join() 和quit()run()为接口函数,使派生类可以实现自己的工作函数。thread_base.h#ifndef _THREAD_BASE_H_#define _

2015-02-28 14:29:40 3768

原创 C#中 Thread类的使用

基本的 Thread 框架基本的 Thread 程序结构,由工作函数,start 和 join 组成Thread类是比较常用的一个类,这里总结了一些基本的使用方法和程序示例,以备以后查用。https://msdn.microsoft.com/zh-cn/library/system.threading.thread.aspxusing System;using

2015-02-12 17:32:58 5057

原创 C++ 模板使用

模板是解决重用的一种方式,"模板" 顾名思义,一个框框,框架不会轻易变动,但其中的内容可以随意填写。以一个栈的定义为例class stack{private:    enum {ssize = 100};    int m_stack[ssize];int m_top;public:    stack() : m_top(0) {m_stack[m_to

2014-11-17 08:16:07 773

原创 C++ time 的使用

time 是使用比较广泛的一个的使用比较

2014-10-14 11:24:01 842

原创 设计模式 - 策略和职责链模式 C++

策略和职责链模式: 运行时选择的算法。策略模式的主要意图是: 对于一个问题,我们其实可以通过多种方式来解决,但最好的解决方式都是根据"具体的情况"来决定的。这就是动态的选择,是策略。 职责链是将一系列的策略串在一起,当遇到问题时从头到尾对职责链进行遍历,来找到最适合的解决方式。这里的"具体情况"在程序中可以理解为上下文环境 context,它的输入会决定到底采取什么样的策略

2014-09-26 15:25:22 750

原创 设计模式 - 适配器模式 C++

关于shi一个库或一段代码对外提供了接口,这个接口的表达方式有可能并不为某些调用者所接受。但换一种表达方式这个接口则能很好的适应新的要求。

2014-09-25 08:37:57 621

原创 设计模式 - 状态模式 C++

状态模式是产生一个可以改变其类的对象,通过前端对象的变化来使后端工作的不同对象履行其职责。通过改变一个对象的状态,使它的工作对象也发生变化。如果一个对象在决定它要做什么之前总是要对当前的状态做很多的判断,那么就可以考虑使用状态模式。一个坏的例子。为什么是个坏例子: 在work() 函数中,每次都要对当前worker的状态进行检

2014-09-19 16:29:56 933

原创 设计模式 - 代理模式 C++

代理模式的基本思想是,需要服务的代码只与代理类打交道,而实际工作的部分隐藏在代理的背后。它的主要的目的是希望隐藏实现的部分,从而消除代码的耦合。pic_1代码示例:代理模式的类型: 这些类型主要是针对不同的情况在代理模式中加入了一些特性。1)

2014-09-17 16:39:18 1137

原创 设计模式 - 命令模式 C++

命令模式的代码很简单,主要目的用于消除对象间的耦合关系。它可以消除调用者与被调用者位置间的关系。它的特点是允许向一个函数或对象传递以个动作, 或者是一系列的动作。它可以看做是回调函数的替代产物,当把一个对象对外提供的服务用一个命令类进行了封装后,所有需要这个类服务的其他调用的部分只需要和这个命令类建立关系即可。命令模式示例:

2014-09-15 09:10:48 740

原创 设计模式 - 单件模式 C++

单件模式单件模式允许一个类有且只有一个对象。单件模式的关键是防止程序员获得 控制对象生存期的权利。ya类的默认的构造函数,拷贝构造函数和赋值构造函数。一个单件的示例:

2014-09-10 08:07:07 793

原创 C++ string 的使用

string 写复制一个简单的例子,开始时,s2用s1来初始化,在对字符串做任何改变之前s1和s2指定的是同一物理地址,但对s1进行了修改后我们发现地址发生了变化。这时的s1和s2已经指向了不同的物理空间。只有当字符串发生改变时,才创建各自的拷贝,这种实现方式叫做写时复制。sample code 1sample1_result_pic

2014-09-05 12:26:03 742

原创 C++ 流的使用 Part II - string stream 和 流的格式化输出

string stream继承图pic_1Sample 1 istringstreamSample 2 ostringstream输出流的格式化输出格式化开关标志ios::unitbuf  :  单元缓冲区每次插入后立即刷新(马上进行输出)。ios::

2014-09-03 08:17:21 2476

原创 C++ 流的使用 Part I - file iostream

继承图pic_1一个简单的流处理的例子。基本的函数:in.get(buffer, SIZE)    读取文件中的一行到buffer中,如果这一行字符的长度大于buffer的size, 那他会先读满buffer->处理,然后继续读取,一直读到'/n' 字符。程序中使用 in.get(); 来读取'/n',并且把'/n'跳过去,如果不使用它的

2014-08-29 16:31:20 873

原创 BitVector

一个很实用的小算法,来自Thinking in C++它主要解决的是一个高效存储真假标志集合的问题。如果我们有一批数据,这些数据可以用 [on] 或[off] 来表示。用一个叫位向量的类来存储它们应该是很方便的。有时,位向量并不是作为应用程序的一个工具来使用,而是作为其他类的一部分。当然对一组标志进行编码,最容易的方法就是每个标志占一个字节, 但这样会非常浪费空间,比如我们

2014-08-21 08:19:36 1723

原创 Thinking in C++ -- 函数的缺省参数

缺省参数是在 C++函数声明时就给其参数赋值。C++支持函数的重载,在同一个类中,具有相同名字的函数可以通过定义不同的参数列表来实现多态。为了简化编程时的工作,函数的缺省参数也是在这个背景下产生的。它最大好处就是为编程时提供简化。一个简单的例子#include using namespace std;sample.hc

2014-08-20 08:21:16 821

原创 Ubuntu 虚拟机环境搭建

今天俺的Ubuntu 虚拟机蹦了,没法子从头来过

2014-08-04 22:33:03 788

原创 Inter-RAT Mobility in Connected State: CDMA2000 (eHRPD)

首先简单介绍一下  EPS + eHRPD网络的基本结构。它分为两种,未优化的 和 优化的EPS+eHRPD Network Architecture (Non-Optimized)pic_1几个关键的接口S2a Interface:     -    连接3GPP EPS 网络中PDN-GW 和 3GPP2 eHRPD网络中的HSGW。

2014-07-20 15:29:15 4616

原创 IRAT Iu Handover (UTRAN to EUTRAN)

Overview    它有四个大的步骤。 1)  Decision    Serving RNC 初始化 handover并且通知Serving SGSN。2)  Preparation    Serving SGSN 会通知 目的 MME,准备Handover需要的资源。    目的MME 会初始化S-GW和eNB需要的资源。3)  Executio

2014-07-16 08:52:01 3014

原创 IRAT Iu Handover (E-UTRAN to UTRAN) Call Flow

IRAT Iu Handover Call Flow OverviewDecision    E-UTRAN 根据UE发送的 Measurement Report 决定是否进行Handover。 Preparation Serving eNB通知 Serving MME需要进行Handover。 Serving MME会通知目标SGSN 需要进行reloaction。

2014-07-11 09:34:49 2644

原创 Cricuit Switched Fallback (CSFB) : CDMA2000 1XRTT

关于LTE对支持Voice 当UE attach在E-UTRAN时,它可以有三种选择方案来支持Voice 服务。Circuit Switched Fallback (CSFB) to 1XRTT如果LTE网络中没有IMS,voice call会被 fallback到一个CDMA的网络中。这种技术不需要IMS的支持。在MT call时,UE是被LTE网络呼叫的。

2014-07-02 09:02:20 4297

原创 Cricuit Switched Fallback (CSFB) : UTRAN MO/MT Call

CSFB MO CallCSFB MO Call 支持两种机制,它们在UE处于Idle 或这 connected mode 时都可以使用。    -    PS HandOver   UE从E-UTRAN Handover 到 目的 RAT,这个过程是由eNB初始化的。    -    Redirection   E-UTRAN 的 RRC Connection

2014-06-24 08:20:30 8737

原创 libgdx - SpriteBatch的使用

SpriteBatch 这是绘图时会经常使用的一个功能类,它位于 com.badlogic.gdx.graphics.g2d中。控制类接口:begin()开始准备成批量的画图,它打开了混合和纹理。end()结束渲染,它关闭了混合和纹理,并且必须在begin后调用。flush()所有在 Pending状态的 sprites 都会被渲染,并且

2014-06-23 21:17:39 2429

原创 libgdx - 对于SpriteBatch中setProjectionMatrix() 的理解

对于 SpriteBatch中setProjectionMatrix() 的理解在编程过程中,遇到了一个函数SpriteBatch::setProjectionMatrix(OrthographicCamera.combined)。经过一番搜索,终于理解了他的含义。这里保留一些信息,以便以后参考。一 和二 只是为了理解这个函数做了一些简单的铺垫。一, 关于正交投影和

2014-06-22 11:36:19 2866

原创 Cricuit Switched Fallback (CSFB) : UTRAN Overview

简单介绍:当LTE网络中没有部署IMS时,CSFB 可以使网络同样支持语音服务。很多UE都可以支持这个场景。CSFB和IMS可以同时被部署到网络中,这样当UE脱离IMS时同样可以使用CSFB支持语音业务。在初始化注册到MME时,UE会告诉网络希望支持"Combined Attached"。在实际过程中,UE会要求注册到2G/3G circuit switched 网络中

2014-06-16 08:43:23 2355

原创 Inter-RAT Mobility in Connected State: UTRAN Part I Overview

3GPP Interworking Architecture(S3/S4/S12)pic_13GPP定义了两种方式可以使EPS和UTRAN进行连接。这里主要使用的是S3,S4,S12接口。S3,S4,S12使用专门的GTPv2协议。-    S3  是连接SGSN 和 MME的可以用来传递控制信息,来支持UE在LTE和UTRAN间的handover和relo

2014-06-12 08:11:49 4200

原创 Radio Link Failure and Recovery

四种会发生Radio Link Failure的场景-  DL Physical Layer Failure (PDCCH BLER > 10%)-  Random Access Problems (in Connected State)-  Failure after RLC retransmissions(specific PDU)-  Handover Failure

2014-05-28 08:34:56 9152

原创 Tracking Area Update Procedure

Tracking Area Update ProcedureTracking Area Update Procedure 发生的条件。pic_1当UE发现新eNB广播的Tracking Area Code 不在 MME的TAI 的list中,UE知道它进入了一个新的Tracking Area。他需要启动Tracking Area Update

2014-05-21 09:16:23 10538

原创 Intra-LTE Handover : S1 based Handover

当两个 eNB间没有 X2接口时,他们的切换需要经过MME,这时需要进行S1 based Handover。S1 based handover 的四个基本的步骤:Decision  (决定)-    Serving eNB 初始化 Handover并且通知 Serving MME。Preparation  (准备)-    Serving MME 通知 Ta

2014-05-05 09:07:16 10245

原创 libgdx - 开发中遇到的问题及解决

问题 01:在 ImmediateModeRenderer20 中 抛出了 NullPointerException。05-03 09:50:43.250: E/AndroidRuntime(893): java.lang.NullPointerException05-03 09:50:43.250: E/AndroidRuntime(893): at com.badlogic.g

2014-05-03 22:07:15 1279

原创 libgdx - 基础框架 及 资源

Libgdx是一款支持2D与3D游戏开发的游戏类库。它是一个开源的项目,源码可以在这里找到  https://github.com/libgdx/libgdx/它主要由:文件操作,音频操作,2D/3D渲染,Libgdx绘图相关运算等模块组成。(主要参考 https://github.com/libgdx/libgdx/wiki)此图来自 https://

2014-05-03 21:35:56 887

原创 Intra-LTE Handover : X2 based handover

当2个 eNodeB间存在着 X2 接口时会发生这种 handover。当X2 based handover 进行时,两个eNodeB会直接进行协商。当 UE 和 Target eNodeB连接建立完成后,会通知MME来转换路径。X2 based handover 的四个基本的步骤:Decision  (决定)-    Serving eNB初始化 handover

2014-04-21 09:32:09 8429

原创 Mobility Management in Connected State

应用的场景一部手机开始在位置 1 注册,然后朝位置 2 移动,最后到达目的地位置 3.移动管理:Handover 支持在手机移动过程中维护一个空口的连接  - Quality based handover  - Coverage based handoverHandover 支持Radio Resource Management(RRM) 过程 

2014-04-17 08:50:15 1749

原创 Data Routing Support in EPS

Data Routing Support in EPS一个场景的简单描述来理解 Data Routing SupportCharlie的UE建立4个PES承载,    -  1 个default 和 2 个dedicate 通过 APN"VoIPAndDefault"    -  1 个default 通过 "OfficeAccess"这里最核心的要描述的问题是:不同的

2014-02-25 09:13:43 1226

原创 Multiple PDN Connectivity

Multiple PDN ConnectivityPDN Connectivity OverviewA)  "APN" in PDN Connectivity RequestUE 会初始化 UE Requested PDN 过程,它会发送PDN Connectivity Request 消息到MME。如果UE是处于 ECM_IDLE状态,这个NAS消息会由Ser

2014-02-21 08:29:43 7915

nodejs + mongodb 合集 (1)

nodejs + mongodb 资源 合集 01

2017-03-21

Android Activity间共享数据

一些Activity间共享数据的代码实例,用于开发时参考。

2015-11-29

Android Style实例总结

总结了一些Android按钮不同风格Style使用的实例,以便开发时使用。

2015-11-28

C# 并行编程示例源码

C# 并行编程的示例源码,用于学习并行编程的原理和使用方法。

2015-06-29

C# 并行编程代码示例 - 命令式任务并行

C# 并行编程代码示例 - 命令式任务并行。其中总结了一些代码示例,便于以后开发过程中使用。

2015-04-21

实例代码 学习libgdx - SpriteBatch

一个学习libgdx中类SpriteBatch的代码实例,其中包含了四个例子能显示使用SpriteBatch类编程的效果。

2014-06-23

AVL Tree 代码实例

AVL Tree 的代码实例,包括插入和删除节点操作。

2014-02-02

C#进程间通信-共享内存代码实例

C#进程间通信-共享内存代码实例。用实现了2个进程,他们之间使用共享内存方式进行通信。

2013-12-04

C#进程间通信-消息队列代码实例

C#进程间通信-消息队列代码实例。用实现了2个进程,他们之间使用消息队列方式进行通信。

2013-12-04

C#进程间通信-管道代码实例

C#进程间通信-管道代码实例。用实现了2个进程,一个Client 一个Server他们之间使用管道方式进行通信。

2013-12-04

C# TPL 同步实例代码

几个C# TPL 同步的实例代码,来自MSDN和C#本质论中,用于参考。

2013-08-30

C# TPL Sample

几个使用C# TPL编程的小例子,例如创建任务,ContinueWith的使用,异常处理等等。

2013-08-14

Android 线程+View的使用

一个线程控制View的代码实例,其中主要使用了两种方式:Post方式和Handler方式。

2013-07-27

二叉树实例

二叉树实例代码,包括插入,遍历,查找,和删除等操作。

2013-06-30

App 间相互调用实例代码

App 间相互调用实例代码,包括启动,查询系统App信息,结束目标App。

2013-06-10

普通树实例代码

普通树实例代码,使用深度优先和广度优先进行遍历。

2013-05-26

SlidingDrawer 代码实例

SlidingDrawer的代码实例。一个最简单的SlidingDrawer的使用方法。

2013-05-25

动画播放实例代码

一段动画播放的实例代码,主要利用的是Android 的AnimateDrawer类。

2013-05-19

代码实例:保存View中的图片到文件中

一个代码实例:把ImageView中的图片保存到指定的图片文件中。

2013-05-11

Gallery and ImageView 实例代码

Gallery and ImageView 实例代码

2013-04-30

WCF 实例代码

一个 WCF 的实例代码,简单的例子,来描述WCF工作方式,和创建客户端的方法。

2012-12-21

多线程队列源代码

多线程队列源代码,包括一个多线程队列的实现和测试程序。

2012-12-16

WCF Sample code 2

使用配置文件方式实现的WCF Service 和 Client 的代码实例。

2012-11-28

WCF Sample code 1

使用代码方式实现的 WCF Service and Client 的代码实例。

2012-11-28

快速排序 --- 非递归实现

快速排序 非递归实现方式的完整源代码和测试结果。

2012-11-04

多线程栈 源码

多核程序与并行设计中多线程栈的实现的源代码,其中还包括测试结果,用于学习参考。

2012-10-27

多核编程第6章-实例代码

多核编程第6章-实例代码: 包含四个并行模型的实例代码,委托(boss-worker) 对等(peer to peer) 流水线(pipeline) 生产者-消费者(producer-consumer),仅是框架的实例代码不包含异常处理,容错等其他考虑。

2012-07-29

大规模C++程序设计

大规模C++程序设计, C++开发大型系统,C++开发。

2011-11-27

UML 基础案例与应用

UML 基础案例与应用,UML 应用实例, OO基础知识介绍。

2011-11-26

Android基础教程(第3版)

Android 移动开发基础教程。基本环境搭建,程序实例。代码说明。

2011-10-05

GPRS 网络结构描述和图示

GPRS 网络结构描述和图示,详细给出了网络上的节点和接口协议。

2009-11-28

空空如也

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

TA关注的人

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