⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pthread_create.c

📁 用c語言
💻 C
字号:
#include <stdio.h>#include <pthread.h>#define NUM 1000static pthread_mutex_t LOCK, *m_LOCK = &LOCK;void *hping(int *index) {			char cmd_buff[512];			int *index2;			index2 = (int *)index;			if (*index2 == 1) {				sprintf(cmd_buff, "hping2 -1 -a 192.168.255.233 192.168.1.33 &");				//sprintf(cmd_buff, "");			} else if (*index2 <= 255) {				sprintf(cmd_buff, "hping2 -1 -a 192.168.252.%d 192.168.1.33 &", *index2);			} else if (*index2 <= 511) {				sprintf(cmd_buff, "hping2 -1 -a 192.168.253.%d 192.168.1.33 &", (*index2-256));			} else if (*index2 <= 766) {				sprintf(cmd_buff, "hping2 -1 -a 192.168.254.%d 192.168.1.33 &", (*index2-512));			} else {				sprintf(cmd_buff, "hping2 -1 -a 192.168.255.%d 192.168.1.33 &", (*index2-768));			}			system(cmd_buff);			return NULL;}int main(){	int i = 1, err = 0;	int b[NUM];	int start, end;	int pid1, pid2, pid3, pid4, status;	pthread_t ptid[NUM];	if ((pid1 = fork()) == 0) {		if ((pid2 = fork()) == 0) {			if ((pid3 = fork()) == 0) {				if ((pid4 = fork()) == 0) {					printf("\n***(5)***\n");					start = 801;					end = 1000;				} else {					waitpid(pid4, &status, 0);					printf("\n***(4)***\n");					start = 601;					end = 800;				}			} else {				waitpid(pid3, &status, 0);				printf("\n***(3)***\n");				start = 401;				end = 600;			}		} else {			waitpid(pid2, &status, 0);			printf("\n***(2)***\n");			start = 201;			end = 400;		}	} else {		waitpid(pid1, &status, 0);		printf("\n***(1)***\n");		start = 1;		end = 200;	}	for (i = start ; i <= end ; i++) {		b[i-1] = i;		err = pthread_create(&ptid[i-1], NULL, (void *)hping, &b[i-1]);		//printf("\n%d\n", err);	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -