多线程检索数组
2018-02-04 22:27
274 查看
#include <windows.h> #include<stdio.h> #include <stdlib.h> #include <process.h> int isfind = 0;//0-代表没有找到 int *pfind = NULL;//为null没有找到,否则就是地址 struct infostruct { int *pstart;//起始地址 int length;//长度 int findnum;//要寻找的数据 int id;//线程编号 }; void find(void *p) { struct infostruct *pinfo = (struct infostruct *)p;//获取参数地址 //检索指定的内容 printf("线程%d开始查找\n",pinfo->id);// for (int *px = pinfo->pstart; px<pinfo->pstart+pinfo->length; px++) { if (isfind == 1) { printf("线程%d结束查找,其他线程已经找到\n", pinfo->id); _endthread(); } if (*px == pinfo->findnum) { pfind = px;//返回找到地址; isfind = 1;//设置标识符找到 printf("线程%d结束查找,找到%d,%p\n", pinfo->id, *px, px); _endthread(); } } } void main() { int data[1000] = { 0 }; for (int i = 999; i>=0; i--) { data[i] = i; } struct infostruct myinfo[10]; for (int i = 0; i < 10; i++) { myinfo[i].pstart = data + i * 100;//设定地址 myinfo[i].length = 100; myinfo[i].id = i; myinfo[i].findnum = 767; _beginthread(find, 0, &myinfo[i]);//多线程查找 } system("pause"); }
列表内容
相关文章推荐
- Java多线程访问数组
- 利用二分查找在循环递增数组中检索一个元素
- Mongo DB中检索数组字段的小技巧
- 通过互斥锁实现数组多线程互斥插入示例
- 2-2 数组、文件IO、泛型、多线程、异常处理
- 安卓学习第十四天:多线程的数据安全,线程同步,数组,类集框架
- 泛型数组的检索(原)
- ASP.NET温故而知新学习系列之ASP.NET多线程编程—多线程实现数组排序(十)
- 由一篇文章引发的思考——多线程处理大数组
- 通过实例学习Virtools脚本语言VSL - 检索和修改数组的数据
- ASP 使用Filter函数来检索数组的实现代码
- 多线程并行数组求和(相邻配对模式)
- //数组中检索以什么姓氏开头的人
- 4-18-1-使用指针交换数据、多线程参数传递、多线程通信、指针与数组
- C#中的多线程使用 -- Thread 类: 使用回调函数从一个线程中检索数据
- PostgreSQL 多重含义数组检索与条件过滤 (标签1:属性, 标签n:属性) - 包括UPSERT操作如何修改数组、追加数组元素
- 多线程并行检索
- org.eclipse.debug.core.DebugException: 检索数组的组件类型时发生 com.sun.jdi.ClassNotLoadedException: 尚未装入类型。
- java 多线程之成员变量为数组实验
- c# 多线程里面创建byte数组发生内存溢出异常求解