智能指標shared_ptr【無鎖設計基於GCC】

文章目錄 1. shared_ptr 介紹2.  shared_ptr 的構造3. shared_ptr 擷取引用計數或原始指標4. 減少引用計數5. shared_ptr 的析構6. 向原始指標一樣使用shared_ptr7. Lock Free引用計數實現 1. shared_ptr 介紹  使用過Boost的話對shared_ptr一定有很深的印象。多個shared_ptr指向同一個對象,每個shared_ptr會使對象的引用計數加+

UtraEdit 支援Lua高亮

UtraEdit  支援Lua高亮,網上已經有很多方法,但是都是基於相對老一點的UE,在15.10版本中,UE支援Lua高亮的方法如下:從網上Down下支援Lua的wordfiles,lua.uew建立一個目錄如D:\wordfiles,將UE安裝目錄下的所有wordfiles檔案都複製到D:\wordfiles,再將自己的lua.uew拷貝到此,設定UE

FFLIB網路架構單線程0.0.1版本-epoll_socket

更新:     封裝了epoll和socket,目前是單線程版本問題:     對於epoll_wait操作,何時將會觸發EPOLLERR?     伺服器端close掉socket時候,如何保證EPOLLIN不會再觸發,按理說close之後是不會有EPOLLIN,但是多線程時,有可能有EPOLLIN排在close後邊     執行,那麼什麼時候才能確定epoll_wait中再也不會有事件到來?因為這時候才能乾淨的將socket

Event Store架構探究

摘要:  遊戲開發中,經常會越到千奇百怪的Bug。背景程式都是以demon

為什麼要用foreach來代替for

看個例子,就可以看出原因         public static void Main(string[] args)        {            Console.WriteLine("進入For迴圈");            for(int i=0;i<List().Count;i++){                Console.WriteLine(i.ToString());            }            Console.WriteLine("進入

Chaos網路程式庫(二)- Buffer的設計(轉載cppthinker.com)

對於buffer的設計,chaos和其他網路程式庫的做法稍有不同,就拿libevent-stable-1.4.13(以下所提到libevent處皆為該版本)來說,它採用一種能夠自動擴張的buffer,基本策略如下:1. 當緩衝區不夠存放新資料時,它會先在內部做marshal,看看是否能夠騰挪出足夠的空間2. 假如沒有滿足,那麼對buffer進行expand, 大小為原來的兩倍,擴張之後該buffer就不會縮小另外,libevent中有兩個buffer,input 和 output,

使用epoll&socket的總結

1. epoll 中使用et方式觸發,只需EPOLL_CTL_ADD一次,把EPOLLIN  EPOLLOUT 事件全註冊,每個socket只需建立add一次,其事件就會     一直在epoll中,當然,socketclose 後應DEL掉。2. ET觸發方式是指當fd到狀態發生變化時通知,如read buffer從無到有,write buffer從滿到不滿才會通知。3.

Base PyQt4, Simple Web APP Framwork

  長時間以來,一直針對Linux 伺服器開發背景程式,每天面對的是黑框框,輸出只有記錄檔。偶爾需要類比用戶端測試,要麼是寫幾行php代碼,在瀏覽器上點一點,要麼是寫個小Python指令碼在shell中執行一下。寫了一些測試用的小指令碼以後,越來越鐘愛這種指令碼測試方式了。想到什麼測試case,三下五除二改改指令碼就能測了。測試小指令碼多多少少也寫了十來個了。其實自己Php和Python的底子都不好,只是略懂一二,居然大部分問題都能google一下輕鬆解決,主要是也不需要使用神馬進階特性哈哈。 

摘自:Emgu.CV項目,An object recognizer using PCA (Principle Components Analysis)

using System;using System.Collections.Generic;using System.Text;using System.Runtime.InteropServices;using System.Diagnostics;using System.Xml.Serialization;using System.Xml;using System.Runtime.Serialization;using Emgu.CV.Structure;namespace

狀態機器的實現探討

(譯)狀態機器的實現探討原文連結地址:http://drdobbs.com/cpp/184401236?pgno=1         實現一個狀態機器很容易,但是實現一個好的狀態機器卻不簡單。一般實現狀態機器的時候會有如下的實現代碼:switch (state_)         caseA:                   do_A();         caseB:                   do_B();end switch        

A星路徑搜尋

摘要:  在人工智慧中有一類問題是有確定解的,如路徑、五子棋等,這樣的問題非常適合使用搜尋來解決。 路徑搜尋是一個很有趣的問題,在人工智慧中算是很基礎的問題。最近一直在讀《Artificial Intelligence-A Modern Approach》,搜尋部分看完印象最深的就是A星演算法了,這個在遊戲開發中也最常用。於是乎做個總結,明天就掀過這篇了。路徑搜尋演算法:Dijkstra:  Dijkstra

LUA debug 工具函數

local print = printlocal debug = debuglocal string = stringlocal io = iolocal type = typelocal pairs = pairsmodule "dt"function bt() local dinfo = debug.getinfo(2) local func_line = dinfo.linedefined local filename = dinfo.short_src

Boost asio 心得筆記

Boost asio中有兩點用的不爽:1. asio中的所有對象都引用io_service2. async_write還要自己保證記憶體在completed之前有效 有空要把這兩點搞的更傻瓜一點,實際上在全非同步模式下NET IO分配兩個線程足矣,async搞一個隊列,completed時候刪掉,還可以通過writev最佳化寫, 現在在做的一個redrabbit lib就是在boost

利用LUA協程實現FUTURE模式

文章目錄 1. lua中的user_t對象每個執行個體擁有兩個主要資料,2. C++ 封裝非同步呼叫Mysql的介面,註冊介面到LUA3. LUA 範例程式碼4. 注意事項: 1. Future模式:參見http://www.cnblogs.com/zhiranok/archive/2011/03/26/Future_Pattern.html使用future的好處是即利用了非同步並行能力,又保證主邏輯串列執行,保持簡單。2. Lua

FFLIB 架構Broker 之Master/Slave 模式

          在FFLIB的兩篇介紹中,已經介紹了FFLIB是基於Broker模式構建的架構,核心組件關係圖如下:         http://www.cnblogs.com/zhiranok/archive/2012/07/30/fflib_framework.html    http://www.cnblogs.com/zhiranok/archive/2012/08/08/fflib_tutorial.html              這種情況,比較明顯的瓶頸是Broker

LUA物件導向編程技巧

文章目錄 2. Metatable3. 樣本class4. 實現繼承5. 注意 詳文請見 http://ffown.sinaapp.com/?p=111. LUA中的對象我們知道,對象由屬性和方法組成。LUA中最基本的結構是table,So 必須用table描述對象的屬性。lua中的function可以用來表示方法。那麼LUA中的類可以通過table +

通用熱門排行榜組件

簡介:熱門排行榜是遊戲組件中必不可少的組件,設計一個可重用的熱門排行榜是必不可少的,一個熱門排行榜系統需要滿足如下要求:熱門排行榜一般是限制名次的,比如只為前100 名進行排名熱門排行榜一般會有多種,比如等級熱門排行榜、金幣熱門排行榜等有時熱門排行榜需要定時更新,有時需要即時更新 排行系統組件關係圖: 建立熱門排行榜 rank_obj_mgr_t rank_obj_mgr; rank_system_t rank_system(&rank_obj_mgr);

TCPDUMP 抓包

  寫了個指令碼, 用於調試伺服器訊息傳輸, 代碼如下:#!/bin/bashif [ $# -eq 0 ] ; thenecho "usage local_port dest_ip"exit 1fi/usr/sbin/tcpdump -lSAn -s 0 tcp port $1 and dst $2 |tee tcpdump.log# ./capture 22104 192.168.5.117# -i eth0 網卡   如果通訊訊息格式為json,抓包輸出非常的直接。   -s 0

FF ASIO 非同步訊息網路架構

在前邊http://www.cnblogs.com/zhiranok/archive/2011/12/12/boost_asio.html我提到,針對前面使用boost asio 中遇到的問題,對asio進行封裝,如下幾個目標:1.

FFLIb Demo && CQRS

使用FFLIB 構建了一個demo,該demo類比了一個常見的遊戲後台架構,該demo主要有一下亮點:FFLIB 實現處理序間通訊非常方便基於CQRS 思想構建LogicServer使用Event Publish/Subscribe, 實現各個模組的解耦合基於Event 實現實體物件的單元測試,在你gtest中,利用event做mock,同時利用event  做驗證,單元測試就是一個Given(event,先提供條件), When(Command,觸發操作),

總頁數: 61357 1 .... 6718 6719 6720 6721 6722 .... 61357 Go to: 前往

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.