`
genier200
  • 浏览: 23186 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类

windows c thread

 
阅读更多
/* 
	cpp_demo.cpp 
	MSDN帮助手册:http://msdn.microsoft.com/zh-cn/library/ms235302(v=VS.80).aspx
	只是针对CRT(C RunTime)的 _beginthread 和 _beginthreadex 函数创建多线程
	MFC和WIN32 Api创建的线程,请参考其他:
	运行时需要使用管理员身份运行此实例。
	@author:lx
*/

#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <process.h>
#include <..\crt\src\mtdll.h>

struct parameter 
{
	int max;
	int min;
};
void work(void*);

int file_size[]={512,1024,3068,102400};

int _tmain(int argc, _TCHAR* argv[])
{
	printf("starting......\n");
	const int array_length=sizeof(file_size)/sizeof(file_size[0]);
	struct parameter* args;

	HANDLE threads[array_length];

	for (int i=0;i<array_length;i++)
	{
		args=(struct parameter*)malloc(sizeof(struct parameter));
		if (i==0)
		{
			args->min=0;
			args->max=file_size[0];
		}else
		{
			args->min=file_size[i-1];
			args->max=file_size[i];
		}
		threads[i]=(HANDLE)_beginthread(work,0,args);
	}
	//设置等待
	WaitForMultipleObjects(2, threads, TRUE, INFINITE);
	printf("ending......\n");
	return 0;
}

void work(void* arg)
{
	struct parameter* para=(struct parameter*)arg;
	printf("this is a thread:[min-max]:[%d-%d],pid is %d,id is %d\n",para->min,para->max,_getpid(),_threadid);
	char* cmd=(char*)malloc(1000);
	sprintf(cmd,"fsutil file  createnew c:\\test.%d.bin %d",para->max,para->min);
	printf("%s\n",cmd);
	system(cmd);

}

分享到:
评论

相关推荐

    windows 代码 thread.c

    windows 代码 thread.c 源代码

    windows下面c语言实现的队列

    在Windows操作系统下,C语言是一种常用的编程语言,用于开发系统级程序,如线程调度、消息队列和信号量等。这些概念是多线程编程和并发处理的关键元素,对于理解如何在Windows环境下构建高效、可靠的软件至关重要。 ...

    CThread实现

    `CThread.h`将定义`CThread`类,包括其成员函数声明,而`CThread.cpp`将实现这些函数。以下是一个简单的`CThread`类的可能实现: ```cpp // CThread.h class CThread { public: CThread(); virtual ~CThread(); ...

    Windows程序设计(C语言) 书+源码配套

    《Windows程序设计(C语言)》是一本深入探讨如何在Windows操作系统环境下利用C语言进行程序开发的专业教材。这本书详尽地介绍了Windows API的使用,帮助读者掌握创建原生Windows应用程序的核心技术。 首先,...

    win下Thread安装包

    在Windows环境下,线程(Thread)是程序执行的最小单元,它允许程序同时执行多个任务。在多核或多处理器系统中,线程并行执行可以显著提高程序的效率。通常,线程库如POSIX Threads(pthread)在Unix-like操作系统上...

    Windows via C C++ - Windows核心编程 源代码

    《Windows via C/C++》是一本深入探讨Windows操作系统核心编程的经典书籍,主要针对使用C/C++语言进行系统级开发的程序员。这本书详细介绍了如何利用这些编程语言与Windows API交互,以实现底层系统功能和高性能的...

    windows下的定时器

    7. **Thread Pool Timers**: 使用`CreateThreadpoolTimer`函数创建线程池定时器,它允许在单独的工作线程上执行回调,提高了效率,但创建和管理线程池有一定的开销。 在选择合适的定时器时,开发者应根据应用的具体...

    C语言多线程实现

    在C语言中实现多线程是一项重要的编程技术,特别是在Windows环境下。本文将深入探讨如何在Windows操作系统下,利用Microsoft Visual Studio 2015(VS2015)进行C语言多线程程序的开发。我们将关注三个核心部分:线程...

    windowsC++多线程加锁信号量共享内存

    在这个场景下,"windowsC++多线程加锁信号量共享内存"就是我们要探讨的核心主题。 首先,让我们了解什么是多线程。多线程是指一个进程中可以同时执行多个独立的执行流,每个流被称为一个线程。在C++中,可以通过`...

    windows服务程序c

    // 该调用是 Windows.Forms 组件设计器所必需的。 InitializeComponent(); // TODO: 在 InitComponent 调用后添加任何初始化 MainThread = new Thread(new ThreadStart(ThreadFunc)); MainThread.Priority = ...

    threadpool 线程池 C语言版

    线程池中的每个线程通过`threadpool_thread_function()`这样的线程主循环函数来执行任务。 在实际应用中,线程池可以用于并发处理大量短生命周期的任务,如网络请求、数据库操作等。通过合理配置线程池大小,可以...

    thread_xiancheng.zip_windows 线程_xianchengC

    本文将详细探讨"thread_xiancheng.zip_windows 线程_xianchengC"这个压缩包中涉及的C语言实现的Windows线程相关知识。 首先,我们看到压缩包中的"tes.cpp"和"StdAfx.cpp"是C++源代码文件。"tes.cpp"很可能包含了...

    rtthread-tcp-udp-client.zip

    本篇文章将深入探讨如何在RT-Thread环境中实现TCP和UDP客户端的应用,以`demo_tcp.c`和`demo_udp.c`两个示例代码为蓝本,详细解析相关知识点。 首先,我们了解RT-Thread中的SAL(Software Abstraction Layer,软件...

    windows API 函数 ,可用于C C++ dephi

    在C和C++中,调用Windows API通常涉及使用`#include &lt;windows.h&gt;`头文件,并直接调用函数。而在Delphi中,Windows API函数被封装在`Windows`单元中,通过导入库函数的方式调用。对于VB,使用P/Invoke特性可以声明并...

    windows线程之c++封装

    class CThread { public: CThread(); virtual ~CThread(); // 启动线程 DWORD Start(void); // 结束线程 void End(void); // 线程执行函数 virtual void Run(void) = 0; private: static DWORD ...

    windows应用高级编程-c编程篇

    在“Windows应用高级编程-C编程篇”这一主题中,我们将深入探讨如何利用C语言来开发高效、稳定且功能丰富的Windows应用程序。C语言以其强大的底层控制能力和广泛的系统支持,成为开发操作系统级程序的理想选择,尤其...

    RT-Thread教程

    包括操作系统、开发编译环境、目标硬件平台以及仿真器等,其中操作系统使用的是Windows XP SP3,开发编译环境为Keil MDK 4.54版,目标硬件平台为魔笛stm32,仿真器为STlink,RT-Thread版本为1.1.0版。如果读者使用的...

    Windows 10封装中出现“无法验证你的Windows安装”错误解决方法.docx

    在进行Windows 10封装的过程中,如果出现问题,可以通过检查`C:\Windows\System32\Sysprep\panther`文件夹下的`setupact.log`文件来获取更多错误信息。其中,常见的错误代码包括: - `SYSPRP Failed to remove apps...

    Windows系统编程第四版英文版PDF+配套实例程序.rar

    CHAPTER 1 Getting Started with Windows 1 CHAPTER 2 Using the Windows File System and Character I/O 25 CHAPTER 3 Advanced File and Directory...APPENDIX C Performance Results 575 Bibliography 593 Index 597

Global site tag (gtag.js) - Google Analytics