20150418多執行緒 指標與陣列 結構體

2021-07-13 16:45:05 字數 2758 閱讀 8342

三.多執行緒傳遞引數

#include #include #include #include #include void run(void *p) ;

sprintf(str, "鋤禾日當午%d", *px);

messageboxa(0, str, "**很痛苦", 0);

}void main1() ;

for (int i = 0; i < 10; i++)

system("pause");

}

五.多執行緒

1.多執行緒查詢(多個查詢、單個查詢)

int isfind = 0;

struct findinfo ;

void findit(void *p)

if (*pf == ps->findnum)

} printf("執行緒%d結束查詢,沒有找到\n", ps->id);

}void main() ;

time_t ts;

unsigned int data = time(&ts);

srand(data);

for (int i = 0; i < 100; i++)

} int num = 0;

scanf("%d", &num);

struct findinfo info[10];//結構體陣列,儲存每個陣列要查詢的資訊

for (int i = 0; i < 10; i++)

system("pause");

}

2.多執行緒切割

#include #include #include #include #include int isfind = 0;

struct findinfo ;

void findit(void *p)

if (*pf == ps->findnum)//相等

sleep(500);

} printf("\n執行緒%d結束查詢,沒有找到", ps->id);

}#define m 100 //資料

#define n 8 //執行緒數量

void main() ;

time_t ts;

unsigned int data = time(&ts);

srand(data);

for (int i = 0; i < 100; i++)

} int num;

scanf("%d", &num);

struct findinfo info[n];

if (m%n == 0)

} else

//info[n-1]

int i = n - 1;

info[i].pstart = a + m / (n - 1) * i;

info[i].length = m % (n - 1);

info[i].id = i;

info[i].findnum = num;

handle hd = _beginthread(findit, 0, &info[i]);

} system("pause");

}

七.指標陣列強化

1.陣列逆置

void rev(int *p, int n)//長度

}void revp(int *p, int n)//長度

}void show(int *p, int n)

}void main4()

;//10/2 《5 //0-4

int b[9] = ;//9/2 0-3 4

revp(a, sizeof(a) / sizeof(a[0]));

show(a, sizeof(a) / sizeof(a[0]));

putchar('\n');

revp(b, sizeof(b) / sizeof(b[0]));

show(b, sizeof(b) / sizeof(b[0]));

system("pause");

}

八.佇列與多執行緒

1.struct的兩種取值

struct myinfo info;

方法一:info.length=100;

方法二:(&info)->length=100;

(如果用箭頭賦值必須是位址)

2.多執行緒結構體應用

#include #include #include #include #include #define n 1024

struct myinfo ;

void add(void *p)

printf("執行緒%d的結果%d\n", pinfo->id, pinfo->sum);

}void main() ;

for (int i = 0; i < n; i++)

} printf("\n");

struct myinfo info[8] = ;

for (int i = 0; i < 8; i++)

system("pause");

int lastsum = 0;

for (int i = 0; i < 8; i++)

printf("\n多執行緒總和=%d", lastsum);

system("pause");

}

c mysql多執行緒 多執行緒讀寫mysql資料庫

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 unsigned int stdcall scan pvoid pm char ip 20 strcpy ip,char pm mysql mysql mysql res result 初始化mysql控制代碼 mysql init mysql 連線my...

多執行緒執行(限制執行緒數)

多執行緒執行 限制執行緒數 coding utf 8 import threading from ctypes import import queue,os import time,datetime class store threading.thread def init self,store,q...

c 多執行緒mysql 多執行緒讀寫mysql資料庫

該樓層疑似違規已被系統摺疊 隱藏此樓檢視此樓 unsigned int stdcall scan pvoid pm char ip 20 strcpy ip,char pm mysql mysql mysql res result 初始化mysql控制代碼 mysql init mysql 連線my...