35 windows_35_Thread_Tls 线程局部存储
Posted 养老保险年审
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了35 windows_35_Thread_Tls 线程局部存储相关的知识,希望对你有一定的参考价值。
windows_35_Thread_Tls 线程局部存储
// windows_35_Thread_Tls.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <string.h>
int g_AddVar = 0;
CHAR *g_pszText1 = NULL;
__declspec(thread)CHAR *g_pszText2 = NULL;
void print( )
{
//printf( "Text1:%s\n", g_pszText1 );
printf( "Text2:%s\n", g_pszText2 );
}
DWORD WINAPI PrintProc( LPVOID pParam )
{
CHAR *pszText = (CHAR*)pParam;
g_pszText1 = (CHAR *)malloc( 100 );
memset( g_pszText1, 0, 100 );
strcpy_s( g_pszText1, strlen(pszText)+1, pszText );
g_pszText2 = (CHAR *)malloc( 100 );
memset( g_pszText2, 0, 100 );
//strcpy_s( g_pszText2, strlen( pszText ) + 1, pszText );
sprintf_s( g_pszText2, 100, "%s,%d", pszText, ++g_AddVar );
while (true)
{
print( );
Sleep( 1000 );
}
}
void Create( )
{
//1、定义线程处理函数
//ThreadProc
//2、创建线程
//CreateThread
DWORD dwThread = 0;
CHAR szText1[] = "Thread 1------------";
HANDLE hThread = CreateThread( NULL, 0, PrintProc, szText1, 0, &dwThread );
//线程2
CHAR szText2[] = "Thread 2*************";
hThread = CreateThread( NULL, 0, PrintProc, szText2, 0, &dwThread );
//线程3
CHAR szText3[] = "Thread 3xxxxxxxxxxxxxxxx";
hThread = CreateThread( NULL, 0, PrintProc, szText3, 0, &dwThread );
//3、使用线程
//4、结束线程
//ExitThread
//TerminateThread
//5、线程挂起和执行
//挂起线程、SuspendThread
//执行线程、ResumeThread
//6、等候线程的结束
//WaitForSingleObject
//7、关闭线程句柄
//CloseHandle
getchar( );
}
int _tmain(int argc, _TCHAR* argv[])
{
Create( );
return 0;
}
以上是关于35 windows_35_Thread_Tls 线程局部存储的主要内容,如果未能解决你的问题,请参考以下文章
35.Python面向对象元类:type()__metaclass__属性实现简易ORM框架
35.Python面向对象元类:type()__metaclass__属性实现简易ORM框架
35.Python面向对象元类:type()__metaclass__属性实现简易ORM框架