Thread create 创建进程


 1 #include "windows.h"
2 #include "iostream"
3 #include "stdio.h"
4
5 void StartClone(int nCloneID){
6 TCHAR szFilename[MAX_PATH];
7 GetModuleFileName(NULL,szFilename,MAX_PATH);
8
9 TCHAR szCmdLine[MAX_PATH];
10 sprintf(szCmdLine,"\"%s\"%d",szFilename,nCloneID);
11
12 STARTUPINFO si;
13 ZeroMemory(reinterpret_cast<void*>(&si),sizeof(si));
14 si.cb=sizeof(si);
15 PROCESS_INFORMATION pi;
16
17 BOOL bCreateOK=CreateProcess(
18 szFilename,
19 szCmdLine,
20 NULL,
21 NULL,
22 FALSE,
23 CREATE_NEW_CONSOLE,
24 NULL,
25 NULL,
26 &si,
27 &pi
28 );
29
30
31 if(bCreateOK){
32 CloseHandle(pi.hProcess);
33 CloseHandle(pi.hThread);
34 }
35 }
36
37
38 int main(int argc,char *argv[]){
39 int nClone(0);
40 if(argc>1){
41 sscanf(argv[1],"%d",&nClone);
42 }
43
44 printf("process ID:%d,,clone ID:%d\n",GetCurrentProcessId(),nClone);
45
46
47 const int c_nCloneMAX=25;
48
49 if(nClone<c_nCloneMAX){
50
51 StartClone(++nClone);
52 Sleep(1000);
53 }
54
55 Sleep(500);
56
57 return 0;
58
59 }

Thread create 创建进程

时间: 2024-10-12 20:25:50

Thread create 创建进程的相关文章

初步使用Thread类创建进程

如何创建一个线程呢? 创建线程方式一:继承Thread类. 步骤:   1,定义一个类继承Thread类. 2,覆盖Thread类中的run方法. 3,直接创建Thread的子类对象创建线程. 4,调用start方法开启线程并调用线程的任务run方法执行. 可以通过Thread的getName获取线程的名称 Thread-编号(从0开始) 主线程的名字就是main. class Demo extends Thread { private String name; Demo(String name

Unix 线程改变创建进程中变量的值(2)

执行环境:Linux ubuntu 4.4.0-31-generic #50-Ubuntu SMP Wed Jul 13 00:07:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux 1.测试代码: a.c 1 #include <fcntl.h> 2 #include <unistd.h> 3 #include <stdio.h> 4 #include <pthread.h> 5 #include <string.

Java中如何创建进程(转)

在Java中,可以通过两种方式来创建进程,总共涉及到5个主要的类. 第一种方式是通过Runtime.exec()方法来创建一个进程,第二种方法是通过ProcessBuilder的start方法来创建进程.下面就来讲一讲这2种方式的区别和联系. 首先要讲的是Process类,Process类是一个抽象类,在它里面主要有几个抽象的方法,这个可以通过查看Process类的源代码得知: 位于java.lang.Process路径下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

Android ProcessBuilder与Runtime.getRuntime().exec分别创建进程的区别

在Android中想要进行Ping,在不Root机器的情况下似乎还只能进行底层命调用才能实现. 因为在Java中要进行ICMP包发送需要Root权限. 于是只能通过创建进程来解决了,创建进程在Java中有两种方式,分别为: 1. 调用ProcessBuilder的构造函数后执行start() 2. 用Runtime.getRuntime().exec()方法执行 经过使用后发现两者有区别但是也并不是很大,两个例子说明: 1.调用ProcessBuilder的构造函数后执行start(): Pro

Java 线程第三版 第一章Thread导论、 第二章Thread的创建与管理读书笔记

第一章 Thread导论 为何要用Thread ? 非阻塞I/O I/O多路技术 轮询(polling) 信号 警告(Alarm)和定时器(Timer) 独立的任务(Task) 并行算法 第二章 Thread的创建与管理 一.什么是Thread ? Thread是所在主机执行的应用程序任务(task). 只有一个线程的例子: public class Factorial { public static void main(String[] args) { int n = 5; System.ou

Java 多线程详解(二)------如何创建进程和线程

Java 多线程详解(一)------概念的引入:http://www.cnblogs.com/ysocean/p/6882988.html 在上一篇博客中,我们已经介绍了并发和并行的区别,以及进程和线程的理解,那么在Java 中如何创建进程和线程呢? 1.在 Windows 操作系统中创建进程 在 windows 操作系统中,我们创建一个进程通常就是打开某个应用软件,这便在电脑中创建了一个进程.更原始一点的,我们在命令提示符中来做(我们以打开记事本这个进程为例): 第一步:windows+R,

java用Thread方式创建多线程

进程:一个正在执行的程序,每一个进程都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元.线程:进程中一个独立的控制单元.线程控制着进程的执行.一个进程中至少有一个线程. java VM中至少有一个线程负责java程序的执行.而且这个线程运行的代码存在于main方法中.该线程为主线程. 扩展,jvm启动了两个线程,一个主线程,一个垃圾回收机制的线程. 1.怎样创建一个多线程?第一种方法:通过继承Thread类的方法 1.继承Thread类 2.重写Thread类的run()方法 目的:将自

二、创建进程和线程

1.在 Windows 操作系统中创建进程 在 windows 操作系统中,我们创建一个进程通常就是打开某个应用软件,这便在电脑中创建了一个进程.更原始一点的,我们在命令提示符中来做(我们以打开记事本这个进程为例): 第一步:windows+R,输入cmd,打开 cmd 命令提示符 第二步:在命令提示符中输入 notepad,按 Enter 键便会弹出记事本应用软件 PS:常用的windows 应用软件命令 1.regedit:打开注册表编辑器 2.control:打开控制面板 3.msconf

java 线程Thread 技术--创建线程的方式

在第一节中,对线程的创建我们通过看文档,得知线程的创建有两种方式进行实现,我们进行第一种方式的创建,通过继承Thread 类 ,并且重写它的run 方法,就可以进行线程的创建,所有的程序执行都放在了run 方法里:可以说run 方法里放入的是线程执行的程序:在执行线程的时候,需要调用线程的start 方法,就可以进行线程的启动: 总之就是:代码写在run 方法里面,但是线程的执行调用start 方法,start 方法会开启一个线程去执行run 方法: 方式-: public class Thre