原创 C#與C++混合編程及性能分析

概要:   衆所周知,用C#做界面比C++開發效率要高得多,但在有性能問題的情況下不得不將部分模塊使用C++,這時就需要使用C#與C++混合編程。本文給出了兩種混合編程的方法以及性能對比。 開發環境:   ThinkPad T430 i5

原创 使用VS2015創建和調用dll文件

使用VS2015創建和調用dll文件 目錄:1.創建一個工程:實現創建和生成dll文件的目的。 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

原创 7.[個人]C++線程入門到進階(7)----多線程中的隱蔽問題揭祕

爲了描述方便和代碼簡潔起見,我們可以只輸出最後的報數結果來觀察程序是否運行出錯。這也非常類似於統計一個網站每天有多少用戶登錄,每個用戶登錄用一個線程模擬,線程運行時會將一個表示計數的變量遞增。程序在最後輸出計數的值表示有今天多少個用戶登錄

原创 12.[個人]C++線程入門到進階(12)----讀者寫者問題&讀寫鎖SRWLock

與上一篇《秒殺多線程第十篇 生產者消費者問題》的生產者消費者問題一樣,讀者寫者也是一個非常著名的同步問題。讀者寫者問題描述非常簡單,有一個寫者很多讀者,多個讀者可以同時讀文件,但寫者在寫文件時不允許有讀者在讀文件,同樣有讀者在讀文件時

原创 2.[個人]C++線程入門到進階(2)----線程同步之信號量(semaphore)

1、首先來看看如何使用信號量     信號量Semaphore常用有三個函數,使用很方便。下面是這幾個函數的原型和使用說明。 第一個 CreateSemaphore 函數功能:創建信號量 函數原型: HANDLE Create

原创 10.[個人]C++線程入門到進階(10)----多線程經典面試題

1、基本概念         詳見:線程和進程關係和區別、同步和互斥、進程間通信 2、以下多線程對int型變量x的操作,哪幾個不需要進行同步(D)         A. x=y;      B. x++;    C. ++x;    D

原创 1.[個人]C++線程入門到進階(1)----概念

1.線程的基本概念、線程的基本狀態及狀態之間的關係?   線程,有時候被稱爲輕量級進程,是程序執行流的最小單元;   線程被分爲兩種,用戶界面和工作流程(又稱後臺線程);   線程是進程的一個實體,是被系統獨立調度和分派的基本單位;  

原创 教您盤點8款最好用的免費遠程桌面工具(附地址)

教您盤點8款最好用的免費遠程桌面工具(附地址) 遠程桌面是微軟爲了方便網絡管理員管理維護服務器而推出的服務。使用遠程桌面,網絡管理員可以連接到任意一臺開啓了遠程桌面控制功能的電腦上,操作該計算機。 隨着時代的發展,遠程已經慢慢成爲了潮流,

原创 3.[個人]C++線程入門到進階(3)----線程同步之關鍵段CS 與臨界區

第一部分:線程同步之關鍵段 1、本文首先介紹下如何使用關鍵段,然後再深層次的分析下關鍵段的實現機制與原理。 定義關鍵段變量:CRITICAL_SECTION g_csThreadParameter, g_csThreadCode;

原创 16.[個人]C++線程入門到進階(16)----線程函數:CreateThread與_beginthread

 本文將帶領你與多線程作第一次親密接觸,並深入分析CreateThread與_beginthreadex的本質區別,相信閱讀本文後你能輕鬆的使用多線程並能流暢準確的回答CreateThread與_beginthreadex到底有什麼區別,

原创 4.[個人]C++線程入門到進階(4)----線程同步之事件Event

1、首先介紹下如何使用事件。     事件Event實際上是個內核對象,它的使用非常方便。下面列出一些常用的函數。 1)第一個 CreateEvent 函數功能:創建事件 函數原型: HANDLE CreateEvent(

原创 9.[個人]C++線程入門到進階(9)----線程與進程的區別

1、線程的基本概念     概念:線程是進程中執行運算的最小單位,是進程中的一個實體,是被系統獨立調度和分派的基本單位,線程自己不擁有系統資源,只擁有一點在運行中必不可少的資源,但它可與同屬一個進程的其它線程共享進程所擁有的全部資源。一個

原创 6.[個人]C++線程入門到進階(6)----原子操作 Interlocked系列函數

爲了描述方便和代碼簡潔起見,我們可以只輸出最後的報數結果來觀察程序是否運行出錯。這也非常類似於統計一個網站每天有多少用戶登錄,每個用戶登錄用一個線程模擬,線程運行時會將一個表示計數的變量遞增。程序在最後輸出計數的值表示有今天多少個用戶登錄

原创 15.[個人]C++線程入門到進階(15)----線程函數:WaitForSingleObject

等待函數可使線程自願進入等待狀態,直到一個特定的內核對象變爲已通知狀態爲止。   WaitForSingleObject 函數 DWORD WaitForSingleObject( HANDLE hObject,      

原创 5.[個人]C++線程入門到進階(5)----線程同步之互斥量Mutex

1、互斥量是一個內核對象,它用來確保一個線程獨佔一個資源的訪問。     互斥量與關鍵段的行爲非常相似,並且互斥量可以用於不同進程中的線程互斥訪問資源。使用互斥量Mutex主要將用到四個函數。下面是這些函數的原型和使用說明。 1)第一個