windows核心編程-訊號量(semaphore)

線程同步的方式主要有:臨界區、互斥區、事件、訊號量四種方式。前邊講過了互斥器線程同步-----windows核心編程-互斥器(Mutexes),這章我來介紹一下訊號量(semaphore)線程同步。理論上說,mutex是semaphore的一種退化。如果你產生一個semaphore並令最大值為1,那就是一個mutex。也因此,mutex又常被稱為binary semaphore。如果某個線程擁有一個binary

windows核心編程-關鍵段(臨界區)線程同步

windows核心編程-關鍵段(臨界區)線程同步線程同步的方式主要有:臨界區、互斥區、事件、訊號量四種方式。接下來我主要講一下自己在學習windows核心編程中對於臨界區線程同步方式的使用。臨界區線程同步在windows核心編程中被稱為關鍵段線程同步,以下統稱關鍵段關鍵段是一小段代碼,它在執行之前需要獨佔對一些資源的訪問權。缺點:能且只能用在一個進程中的多線程同步。可能陷入死結,因為我們無法為進入關鍵段的線程設定最大等待時間。接下來我介紹一些關鍵段線程同步的使用先看一個案例代碼int

用 Windows API 建立和編輯 .ini 檔案

1. 與 .ini 檔案相關的 API 有兩類:1)作業系統設定檔 Win.ini 的函數GetProfileSectionGetProfileStringGetProfileIntWriteProfileSectionWriteProfileString2)操作使用者自訂設定檔 PrivateProfile.ini

windows 網路編程經典入門的問題

我現在的情況是OnAccept()中的非同步事件註冊不成功,用WSAGetLastError()獲得的錯誤碼為0,用switch無法獲得錯誤訊息,下面是原代碼,My Code是在其基礎上完善的,架構大致是一樣的,  其實我想知道的是accept參數中的Socket參數是用server(正在監聽的參數)還是用訊息映射函數從Windows中獲得的SOCKET pSock = (SOCKET)wParam

Windows下安裝Qt

Qt是KED的標準開發工具,採用C++作為開發語言,具有物件導向的特點.在這裡我們簡介一下在Windows下使用Mingw來編譯安裝Qt.1我們可以在Qt的官方網站下載到一個開源的開發版本,在這裡推薦一下我們國內的下載網站,在這裡有各種可用的版本可以下載,並且具有較好的速度.Qt中文論壇:http://www.qtcn.org/bbs.2下載Mingw,在我們的這個例子中,我們使用的是Dev-Cpp4.9,在安裝時可以用預設的選項進行安裝,這樣我們就可以使用Mingw了.3將我們下載來的Qt源碼

讓win7也能內錄

(2010-05-29 17:26:37)在網上聽到了一首歌曲的伴奏,很不錯,可惜不讓註冊,當然也不讓下載了,只讓試聽,靈機一動,用出老招,開啟“錄音機”錄下來,雖然費點時間,但應該有很好的效果。在XP裡我一直這樣幹,可現在win7中不行了,錄音不讓用,說是無有裝置支援,看來是音效卡有問題了。經過一翻尋找,原來是Windows 7取消了音訊內錄功能,從驅動層屏蔽了內錄。使用者只能從外部裝置進行錄音,比如Mic,Line

WINDOWS批處理命令詳解

最近好多猜測弱口令的病毒在網上流行,比如前段時間鬧得很厲害的Worm.Dvldr蠕蟲就是一個典型。這些病毒有個共同點就是利用批處理來進行ipc$串連,從而來猜測管理員的口令達到控制伺服器的目的。病毒由幾個檔案和幾個複雜的批處理組成。批處理算不上真正意義上的編程,但是它的一些思想和編程比較近似。通過在網上和一些初學的朋友交流,發現他們對於批處理高度興趣,多多少少瞭解一些命令的用法,但缺乏比較系統的瞭解,所以特意寫下這篇教程,好讓感興趣的朋友對批處理有個整體的認識,並能通過該教程舉一反三,寫出自己的

Windows Mobile 編譯的內部結構和步驟

編譯分為4 個階段。(1)CESYSGEN 編譯階段這是編譯的第一階段,由sysgen.bat 完成。這部分首先將使用者在定製平台時排除在外的系統功能所對應的檔案從編譯的列表中剔除,保留和定製功能相關的標頭檔、def 檔案以及.lib檔案,這些檔案將被用來編譯成DLL 以及在後續編譯過程中所產生的其他檔案。此外,被處理過的標頭檔和庫檔案可以被用來匯出平台SDK。在IDE 整合式開發環境中,這個部分有兩個名稱:generate system headers 和re-generatesystem

Windows核心編程-多個應用程式執行個體間共用資料

多個應用程式執行個體間共用資料Windows在一個Win32程式的地址空間周圍築了一道牆。通常,一個程式的地址空間中的資料是私人的,對別的程式而言是不可見的。但是在一個應用程式的多個執行個體間共用資料還是有簡單的方法的。當您在一個應用程式執行個體中修改資料,這種改變將立即反映在其他的應用程式執行個體中。正常的應用程式其資料和程式碼片段都是在獨立的段中,啟動多個程式時,靜態變數等資料都是獨立的,不能用來在多個執行個體間共用資料。其獨立的原因是因為系統給它們提供的預設段不具備共用功能。而我們可以在程

windows核心編程-記憶體對應檔(一)

序Microsoft Windows

windows核心編程-互斥器(Mutexes)

線程同步的方式主要有:臨界區、互斥區、事件、訊號量四種方式。前邊講過了臨界區線程同步-----windows核心編程-關鍵段(臨界區)線程同步,這章我來介紹一下互斥器(Mutexes)線上程同步中的使用。互斥器(Mutexes)的用途和臨界區(critical section)的用途非常相似,如:一個時間內只能夠有一個線程擁有mutex,就好像同一時間內只能夠有一個線程進入同一個critical

溫故而知新1——Windows 的存取控制

Windows 的存取控制  Copyright MikeFeng 安全層級:基於NT核心的Windows是C2層級的。     c2是俗稱橘皮書(orange book)規格中的一個安全層級。橘皮書(the orangebook)是美國國家安全域(nsa)的國家電腦資訊安全中心(ncsc)於1983年8月頒發的官方標準,其正式名稱是“受信任電腦系統評量基準(trusted computer system evaluation

多文檔設定子視窗大小及位置等

1、如何改變多文檔的子視窗初始化顯示的位置(有圖片顯示:主要重載CChildFrame::ActivateFrame(int nCmdShow))http://hi.baidu.com/pqleo/item/c589e5118cab44101894ecc6 還有重載CMainFrame::PreCreateWindow(CREATESTRUCT& cs)(可以相應的架構),還有SetWindowPos(),MoveWindow()函數可以進行設定子視窗大小2、1.

Windows 介面:透明表單的實現

本人一般不做 UI 的,當然除了一些小工具的簡單介面。不過由於工具做多了,對分割視窗之類的東東也都有所涉獵,儘管是看看文檔,依葫蘆畫瓢。今天有找到個 API 函數實現表單的透明,原來微軟提供的介面還蠻豐富的嗎,:-)半透明對話方塊在OnInitDialog()中添加以下代碼即可: //

Windows 驅動:擷取當前進程名

 這是一個比較簡單的問題,在 REGON 的源碼中可以找到實現的相關代碼,我只是把它們整理封裝了一下。//// Process name max length: by bytes// (This value is 16 bytes in RegMon) //#define MAX_PROC_NAME_LEN 256//// This is the offset into a KPEB of the current process name. This is determined//

Windows中刪除檔案夾

#include <iostream>#include <string.h>#include <windows.h>using namespace std;BOOL DelDir(char *szDir){ WIN32_FIND_DATA FindFileData; HANDLE hFind; char szDirName[300] = "/0"; char szFileName[300] = "/0"; sprintf(szDirName, "%s//*.*

WindowsXP下搭建GIT伺服器

 WindowsXP下搭建GIT伺服器  Git沒有用戶端伺服器端的概念,但是要共用Git倉庫,就需要用到SSH協議(FTP , HTTPS , SFTP等協議也能實現Git共用,此文檔不討論),但是SSH有用戶端伺服器端,所以在windows下的開發要把自己的Git倉程式庫共用出去的話,就必須做SSH伺服器。一、安裝GITWindows下使用msysgit,:http://code.google.com/p/msysgit/本文使用Git-1.7.8-preview20111206.exe

windows 下 python2.6的MySQLdb模組安裝問題

(1)安裝mysql-python-1.22.win-py2.6.exe(已編譯好的,找的很多都是要自己編譯的)(2)安裝setuptools-0.6c11.win32-py.2.6.exe(3)缺失兩個dll檔案(libguide40.dll和libmmd.dll),在我上傳的資源裡面有,下載後放在python安裝目錄下Python26\lib\site-packages(4)python串連mysql時

windows後台服務程式範例

//服務程式主函數。#include <stdio.h>//#include "stdafx.h"#include <Windows.h>#include <iostream>#define SZAPPNAME "serverSample" //服務程式名#define SZSERVICENAME "serviceSample" //識別服務的內部名//內部變數bool

從windows服務中開啟視窗進程

IVR地方業務中有一個DBA_BJLDNW工具要在伺服器上運行著.一旦斷開業務即中止.需要寫一個精靈監視它,一旦發現關閉了即重新啟動.為了防止精靈本身被使用者關閉,所以我打算做一個windows服務在後台運行.每5分鐘列舉一個當前系統進程,如果沒有發現DBA_BJLDNW.exe則重新啟動.問題是windows服務不是視窗進程,在這個進程中調用ShellExecute開啟的應用程式也是在後台運行,不能顯示在當前視窗中.後來搜尋到可以在Windows服務中開啟視窗程序的方法.就是開啟使用者WinS

總頁數: 1345 1 .... 1025 1026 1027 1028 1029 .... 1345 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.