CreateThread()使用实例
1.定义的全局变量
DWORD WINAPI ClientThread(LPVOID lpParam);
struct ClientInfo
{
SOCKET sock;
SOCKADDR_IN clientAddr;////定义地址族
};2.使用方法
HANDLE hThread;
DWORD dwThread;struct ClientInfo *pClientInfo=NULL;
pClientInfo=(struct ClientInfo *)malloc(sizeof(struct ClientInfo));
hThread = CreateThread(NULL,0,ClientThread,(LPVOID)pClientInfo,0,&dwThread);
//free(pClientInfo);
if(hThread==NULL)
{
AfxMessageBox("Thread Creat Failed!\n");
return;
}CloseHandle(hThread);
3.线程函数的实现
DWORD WINAPI ClientThread(LPVOID lpParam)
{
struct ClientInfo *pClinetInfo=(struct ClientInfo *)lpParam;
SOCKET sock = pClinetInfo->sock;
SOCKADDR_IN addrClient=pClinetInfo->clientAddr;
free(lpParam);
CTCPServerDlg *dlg=(CTCPServerDlg*)AfxGetApp()->GetMainWnd();while(1)
{
.....
Sleep(200);
}
return 0;
}
CreateThread()使用实例的更多相关文章
- 最近学习工作流 推荐一个activiti 的教程文档
全文地址:http://www.mossle.com/docs/activiti/ Activiti 5.15 用户手册 Table of Contents 1. 简介 协议 下载 源码 必要的软件 ...
- C++ CreateThread 实例
//ThreadBase.h#pragma once #include<windows.h> class CThreadBase { public: CThreadBase(void); ...
- C++的CreateThread实例
function CreateThread( lpThreadAttributes: Pointer; {安全设置} dwStackSize: DWORD; ...
- C++多线程编程(入门实例)
多线程在编程中有相当重要的地位,我们在实际开发时或者找工作面试时总能遇到多线程的问题,对多线程的理解程度从一个侧面反映了程序员的编程水平. 其实C++语言本身并没有提供多线程机制(当然目前C++ 11 ...
- C++多线程编程入门之经典实例
多线程在编程中有相当重要的地位,我们在实际开发时或者找工作面试时总能遇到多线程的问题,对多线程的理解程度从一个侧面反映了程序员的编程水平. 其实C++语言本身并没有提供多线程机制,但Windows系统 ...
- 多线程第一次亲密接触 CreateThread与_beginthreadex本质区别
本文将带领你与多线程作第一次亲密接触,并深入分析CreateThread与_beginthreadex的本质区别,相信阅读本文后你能轻松的使用多线程并能流畅准确的回答CreateThread与_beg ...
- CreateThread和_BeginThread的区别
1.程序: 程序构成: (1)源代码 (2)可执行的二进制代码 程序是指令和数据的有序集合,其本身没有任何运行的含义,是一个静态的概念.由操作系统加载其可执行的二进制代码,分配相应的数据结构:进程控制 ...
- CreateThread函数&&CString::GetBuffer函数
对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 ...
- CreateThread函数&&CString::GetBuffer函数
对这个两个常见的windows下的函数学习了一下: //最简单的创建多线程实例 #include <stdio.h> #include <windows.h> //子线程函数 ...
随机推荐
- hdu 6065 RXD, tree and sequence
题 OwO http://acm.hdu.edu.cn/showproblem.php?pid=6065 (2017 Multi-University Training Contest - Team ...
- JavaScriptPlus操作类
/// <summary> /// JavaScript 操作类 /// </summary> public class JavaScriptPlus { public Jav ...
- DOM对象属性
事件 onmouseover 鼠标以上事件 onmouseout 鼠标离开事件 onclock 鼠标点击事件 onfocus 获取焦点 onblur 失去焦点 oninput 输入事件 ...
- Python - 工具:将大图切片成小图,将小图组合成大图
训练keras时遇到了一个问题,就是内存不足,将 .fit 改成 .fit_generator以后还是放不下一张图(我的图片是8192×8192的大图==64M).于是解决方法是将大图切成小图,把小图 ...
- Eclipse项目迁移到MyEclipse后,继承HttpServlet报错问题
网上好多说法,比如要去对比eclipse和myeclipse的.project文件等等,但我的问题就是Libraries没有导入tomcat,导入之后,报错就消失了. 这里没有给出导入方法,只是给遇到 ...
- CentOS7 开机启动脚本与命令后台运行
一.& 在 Linux 命令后加上 & 可以在后台运行 二.nohup 对 SIGHUP 信号免疫,对 SIGINT 信号不免疫,可用 shopt | grep hup 查看. 当关 ...
- Scope 'request' is not active for the current thread
Unable to instantiate Action, getUserAction, defined for 'getUser' in namespace '/'Error creating be ...
- 远程管理控制ssh
传统的网络服务程序,FTP.POP.telnet 本质上都是不安全的,因为它们在网络上通过明文传送口令和数据,这些数据非常容易被截获.SSH叫做Secure Shell.通过SSH,可以把传输数据进行 ...
- 小D课堂 - 新版本微服务springcloud+Docker教程_2_02 微服务核心基础讲解
笔记 2.微服务核心基础讲解 简介:讲解微服务核心知识 :网关.服务发现注册.配置中心.链路追踪.负载均衡器.熔断 1.网关:路由转发 + 过滤器 ...
- 086. Partition List
题目链接:https://leetcode.com/problems/partition-list/description/ Given a linked list and a value x, pa ...