今天上午開會的時候,有師弟建議我舉個多執行緒程式設計最簡單的例項,於是開完會後找出了自己5年前寫的**,簡單看了看。有時候,我們使用多執行緒僅僅是為了提高並行處理的效率,那麼這時候可以不考慮原子性操作、同步互斥等問題。簡單參考了一下網上的很多教程,結合自己之前的**,舉個例子(這裡以最簡單的win32控制台程式為例):
首先需要設定工程屬性,以支援多執行緒,以vc++ 6.0 ide中文版為例,設定方法是:
「工程」——「設定」——「c/c++」選項卡——下拉式列表中選擇「code generation」——在「use run-time library」下拉式清單方塊中,可以看到用於「release」設定的「single-threaded」和用於debug設定的「debug single-threaded」。將這些分別改為「multithreaded」和「debug multithreaded」。
自己編寫了一段最簡單的vc++ 6.0**:
#include "stdafx.h"
#include #include uint computeproc(int *i);/*執行緒函式頭*/
int main(int argc, char* argv)
uint computeproc(int *i)
需要指出的是,真正的多執行緒程式設計還是較為複雜的,存在data races, atomicity violations和order violations等問題,目前仍是軟體工程研究領域在著力解決的熱點和難點問題。
typedef struct icpm_har
icmp_hdr,*picmp_hdr; /*icmp包頭*/
typedef struct tcpheader
tcpheader,*ptcpheader; /*tcp包頭*/
以上兩點僅供參考。
VC 6 0的簡單使用
學習重點 學習內容 工欲善其事,必先利其器,所以學習編譯器的使用很重要,windows環境下的編譯器比較多,vc 6.0就是其中比較經典的一款,接下來我們將學習其簡單使用 確定所用電腦已安裝vc 6.0 1.開啟vc6.0,一般桌面有其圖示,直接開啟就可以了,如果沒有,就單擊開始 2.開啟vc,出現...
win socket程式設計下連線錯誤 VC6 0
在vc6.0下寫了乙個簡單的基於tcp的socket程式,但是在連線時出現如下錯誤 configuration tcpsrv win32 debug linking.main.obj error lnk2001 unresolved external symbol imp closesocket 4...
VC6 0控制台程式下實現最簡單的TCP網路通訊
本工程還需鏈結乙個庫檔案 解決方案一 程式 中加入 pragma comment lib,ws2 32.lib 解決方案二 在project setting link 中object library modules加入 ws2 32.lib 客服端 pragma comment lib,ws2 32...