我创建的第一个线程

#include <windows.h>
//包含相应头文件

#include <stdio.h>

DWORD WINAPI myfun1(LPVOID lpParameter );//声明线程函数

int main() //主函数

{

HANDLE h1,h2;
//定义句柄变量

h1=CreateThread(NULL,0,myfun1,NULL,0,NULL);//创建线程1

CloseHandle(h1);//关闭线程句柄对象

while(1)

{

if(getchar()==‘q‘)//如果用户输入字符q

{

return 0;
//程序正常退出

}

else //如果用户输入的字符不是q

{

::Sleep(100);
//程序睡眠

}

}

return 0;

}

DWORD WINAPI myfun1(LPVOID lpParameter) //分别实现线程函数

{

printf("线程1正在运行!\r\n");//输出信息

return 0;
//正常结束线程函数

}

时间: 2024-10-13 01:38:50

我创建的第一个线程的相关文章

Java 7 Concurrency Cookbook 翻译 第一章 线程管理之四

七.创建和运行一个后台线程 Java中有一种特别的线程叫做 deamon(后台) 线程.这类线程具有非常低的权限,并且只有在同一个程序中没有其他的正常线程在运行时才会运行.注意:当一个程序中只剩下后台线程时,JVM会终结所有的后台线程并结束程序. 由于这个特性,后台线程一般用于为同一个程序中的其他正常线程提供服务.这种后台线程一般都有一个无限的循环在等待请求服务或者执行请求的任务.由于不知道它们何时可以获得CPU的调用执行,同时在没有其他正常线程的情况下会被JVM终结,所以后台线程不能用于执行重

如何创建并运行java线程

原文链接  译者:章筱虎  校对:方腾飞 Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类. 可以用如下方式用java中创建一个线程: Tread thread = new Thread(); 执行该线程可以调用该线程的start()方法: thread.start(); 在上面的例子中,我们并没有为线程编写运行代码,因此调用该方法后线程就终止了. 编写线程运行时执行的代码有两种方式:一种是创建Thread子类的一个实例并重写run方法,第二种是创建

第一章线程管理

Java 7 并发编程实战手册目录 代码下载(https://github.com/Wang-Jun-Chao/java-concurrency) 第一章线程管理 1.1简介 在计算机领域中,我们说的并发(Concurrency)是指一系列任务的同时运行.如果一 台电脑有多个处理器或者有一个多核处理器,这个同时性(Simultaneity)是真正意义的并 发:但是一台电脑只有一个单核处理器,这个同时性并不是真正的并发 与并发相关的另一个概念是并行(Parallelism).与并发有不同的定义一样

[Winform]线程间操作无效,从不是创建控件的线程访问它的几个解决方案,async和await?

目录 概述 取消跨线程检查 使用委托异步调用 sync和await 总结 概述 最近在qq群里有一朋友,问起在winform中怎么通过开启线程的方式去处理耗时的操作,比如,查看某个目录下所有的文件,或者符合要求的文件.下班回来,也研究了一下.发现多线程这块有点薄弱,也算是补一补吧. 在winform开发,经常会遇到需要在控件上加载大量数据(也就是常说的耗时操作),这会导致程序出现假死状态,这个时候我们就会想到线程. 在智能客户端应用程序中,这样的线程创建并管理用户界面 (UI),因而称为 UI

Executors创建的4种线程池的使用

Java通过Executors提供四种线程池,分别为:newCachedThreadPool创建一个可缓存线程池,如果线程池长度超过处理需要,可灵活回收空闲线程,若无可回收,则新建线程.newFixedThreadPool 创建一个定长线程池,可控制线程最大并发数,超出的线程会在队列中等待.newScheduledThreadPool 创建一个定长线程池,支持定时及周期性任务执行.newSingleThreadExecutor 创建一个单线程化的线程池,它只会用唯一的工作线程来执行任务,保证所有

linux程序设计——第一个线程程序(第十二章)

第12章    POSIX线程 在第11章中,介绍了如何在linux中处理进程.但有时人们认为,用fork调用来创建新进程的代价太高.在这种情况下,如果能让一个进程同时做两件事情或者至少看起来是这样会非常有用,而且,人们页希望能有两件或更多的事情以一种非常紧密的方式同时发生,这就需要线程发挥作用了. 12.1    什么是线程 在一个程序中多个执行路线就叫做线程(thread).更准确的定义是:线程是一个进程内部的一个控制序列.虽然linux和许多其他的操作系统一样,都擅长同时运行多个进程,但迄

【如何创建并运行java线程】

原文链接  译者:章筱虎  校对:方腾飞 在java学习中,Java线程类也是一个object类,它的实例都继承自java.lang.Thread或其子类. 可以用如下方式用java中创建一个线程: Tread thread = new Thread(); 复制代码 执行该线程可以调用该线程的start()方法: thread.start(); 复制代码 在上面的例子中,我们并没有为线程编写运行代码,因此调用该方法后线程就终止了. 编写线程运行时执行的代码有两种方式:一种是创建Thread子类的

线程间操作无效:从不是创建控件的线程访问它的三种方法

访问 Windows 窗体控件本质上不是线程安全的.如果有两个或多个线程操作某一控件的状态,则可能会迫使该控件进入一种不一致的状态.还可能出现其他与线程相关的 bug,包括争用情况和死锁.确保以线程安全方式访问控件非常重要. 解决办法 1.把CheckForIllegalCrossThreadCalls设置为false 在多线程程序中,新创建的线程不能访问UI线程创建的窗口控件,如果需要访问窗口中的控件,可以在窗口构造函数中将CheckForIllegalCrossThreadCalls设置为

Java 7 Concurrency Cookbook 翻译 第一章 线程管理之一

一.简介 在计算机的世界里,当我们谈论并发时,我们指的是一系列的任务同时运行于一个计算机中.这里说的同时运行,在计算机拥有多于一个处理器或者是一个多核处理器的时候才是真正的同时,在计算机只拥有单核处理器的时候,它指的是表面上的同时运行. 所有的现代操作系统都允许并发任务的执行.在听歌和阅读网页上新闻的同时,你还能阅读电子邮件.我们可以说这种类型的并发是进程级别的并发.但在一个进程内部,我们也可以拥有多个同时运行的任务.那些运行在一个进程中的并发任务被称作线程. 与并发相关的另一个概念是并行.它与