KnightOnHorse的博客

追求技术的道路永无止境

Boost.thread创建线程的各种情景

创建线程 首先看看boost::thread的构造函数吧,boost::thread有两个构造函数: (1)thread():构造一个表示当前执行线程的线程对象; (2)explicit thread(const boost::function0& threadfunc):...

2018-05-28 09:00:26

阅读数 90

评论数 0

pair的定义

充当map中键-值对的容器:template <class T1, class T2> struct pair { typedef T1 first_type; typedef T2 second_type; //pair的两个成员分别是first...

2018-05-24 15:28:23

阅读数 151

评论数 0

网络抓包wireshark

抓包应该是每个技术人员掌握的基础知识,无论是技术支持运维人员或者是研发,多少都会遇到要抓包的情况,用过的抓包工具有fiddle、wireshark,作为一个不是经常要抓包的人员,学会用Wireshark就够了,毕竟它是功能最全面使用者最多的抓包工具。Wireshark(前称Ethereal)是一个...

2018-05-23 15:03:51

阅读数 85

评论数 0

冲突域和广播域

2018-05-23 12:18:27

阅读数 524

评论数 0

Boost.mutex连续两次加锁会造成死锁

问题代码如下:#include<iostream> #include<iomanip> using namespace std; #include <boost/thread...

2018-05-23 09:25:54

阅读数 431

评论数 0

ICE实现线程安全之监控器

互斥体实现的是一种简单的互斥机制,在任一时刻,只允许一个线程临界区中活动(在使用读写互斥体的情况下,是一个写入者线程或多个读取者线程)。特别地,要让一个线程进入临界区,另一个线程就必须离开它。这意味着,在使用互斥体时,要做到这样的事情是不可能的:在临界区内挂起一个线程,过一段时间再唤醒它(例如,在...

2018-05-22 09:30:53

阅读数 146

评论数 0

ICE实现线程安全之互斥

如果在一个线程读取某个数据结构的同时,另一个线程正在更新同一个数据结构,除非你用适当的锁保护这个数据结构,否则就会发生严重的混乱。线程模型Ice服务器天生是多线程的。服务器端run time维护有一个线程池,用于处理到来的请求。通过领导者-跟随者(leader-follower)线程模型,客户发来...

2018-05-22 09:13:51

阅读数 161

评论数 0

在Ice 程序中使用属性

读取属性Ice::CommunicatorPtr ic = Ice::initialize(argc, argv);Ice::PropertiesPtr props = ic->getProperties();Ice::Int maxSize= props-&...

2018-05-22 08:54:38

阅读数 123

评论数 0

ICEBOX的配置和使用【Java】

博客内容参考文章:《Ice分布式程序设计》马维达 译.一、 简介IceBox服务器用于配置服务、并把对它们的管理集中在一起,服务被开发成可动态加载的组件,通过属性为IceBox服务配置它负责加载和管理的应用特有的服务。要把多个服务组合成一个应用,可以通过配置、而不是编译和链接来完成。这解除了服务和...

2018-05-21 12:43:46

阅读数 285

评论数 0

ICE通信中C/S的结构

一、客户与服务器的结构 Ice 客户与服务器内部的逻辑结构    客户与服务器都由这样一些代码混合而成:应用代码、库代码、根据Slice 定义生成的代码:l Ice 核心为远地通信提供了客户端和服务器端运行时支持。其中的大量代码所涉及的是网络通信、线程、字节序,以及其他许多与网络有关的问题,我们的...

2018-05-21 12:27:22

阅读数 65

评论数 0

ICE环境变量的配置和在VS中的设置

环境变量配置 1、Ice-3.4.0安装到D:\ProgramFile\ICE 2、Ice-3.4.0-ThirdParty-VC71.msi到D:\ProgramFile\ICE\ThridParty 3、在OS系统环境变量中添加ICEROOT,指向D:\ProgramFile\ICE 4、在O...

2018-05-21 10:36:15

阅读数 419

评论数 0

ICEBOX的配置和使用【CPlusPlus】

一 理论部分(1) 为什么要使用icebox?icebox server代替了通常的server.icebox是为了方便集中管理多个ice服务而建立的。它通过使用icebox服务器,把ice服务注册进去,从而建立联系。所以它除了建立传统的ice服务器,ice客户端,主要是配置icebox服务器。二...

2018-05-21 09:52:02

阅读数 211

评论数 0

ICE中间件的相关名词解释

Ice是“一种现代的面向对象中间件。为上层应用提供高效的网络通信平台。它提供了跨平台 ,跨语言的解决方案。简单的示意图如下:相关的名词:1、 Ice 对象是一种概念性的实体,是服务器的抽象化。Ice 对象具有以下特征: (1)Ice 对象是本地或远地的地址空间中、能响应客户请求的实体。(2)一个 ...

2018-05-21 08:50:28

阅读数 153

评论数 0

在VS2010中配置ICE插件的步骤

ICE为不同的IDE都提供了插件。本文介绍VS2010下的配置。首先建立一个控制台工程,以此为例,进行介绍。1.激活插件选择工具-> IceConfiguration或者在工程右键选择IceConfiguration,打开插件的配置界面。2.配...

2018-05-21 08:35:24

阅读数 372

评论数 0

ICE 创建 聊天室小程序

  ICE的优势是作为通讯中间件可支持跨平台的通讯,目前支持C++、C#、JAVA、Python、Ruby等多种语言。下面通过一个示例,描述怎样通过ICE建立C++与C#之间的通讯。一 示例描述    搭建一个简单的聊天室,服务端使用C++实现,客户端使用C#实现,中间以ICE构建通讯通道。聊天室...

2018-05-20 23:21:51

阅读数 160

评论数 0

ICE Application和Service使用方法简介

最近研究了一下网络通信中间件ICE的使用,粗通其皮毛,按照官方手册依葫芦画瓢写了一个程序员都喜闻乐见的“Hello World”程序,服务端和客户端均用C++开发,通讯协议使用默认的TCP。感觉ICE的大致好处有以下两点:平台无关性。无论客户端或者服务端均可用现在流行的开发语言(C++ /JAVA...

2018-05-20 21:36:32

阅读数 373

评论数 0

ICE实现的简单文件系统

我们的文件系统应用将实现一个简单的层次结构的文件系统,就像我们在 Windows 或 UNIX 上所看到的文件系统。为了让例子代码的数量保持在可以管理的范围内,我们忽略了真实的文件系统的许多方面,比如所有权、权限、符号链接,以及其他一些特性。但我们所构建的功能足以告诉你,可以怎样实现一个功能完备的...

2018-05-20 17:22:57

阅读数 104

评论数 0

ICE简介

1、ICE是什么? ICE是ZEROC的开源通信协议产品,它的全称是:The Internet Communications Engine,翻译为中文是互联网通信引擎,是一个面向对象的中间件,使我们能够以最小的代价构建分布式应用程序。ICE使我们专注于应用逻辑的开发,它来处理所有底层的网络接口编程...

2018-05-19 14:22:09

阅读数 169

评论数 0

VS2010配合ICE3.4开发ICE程序流程

1、下载并安装Ice-3.4.2.msi,安装目录为【IceInstallationRootDirectory】;2、在环境变量Path中添加ice相关小工具的执行目录【IceInstallationRootDirectory\bin\vc100】。如果电脑安装的是64bit的VS2010,目录应...

2018-05-19 13:29:29

阅读数 366

评论数 0

路漫漫其修远兮,吾将上下而求索

未完成待完成代码:#include<iostream> #include<pthread.h> #include<cstdio> #include&l...

2018-05-18 12:52:47

阅读数 52

评论数 0

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