36 windows_37_windows_Sync

windows_37_windows_Sync

  1. // windows_37_windows_Sync.cpp : 定义控制台应用程序的入口点。
  2. //
  3. #include "stdafx.h"
  4. #include <windows.h>
  5. CHAR *g_pszText = NULL;
  6. DWORD g_nTlsIndex = NULL; //全局索引号
  7. void print( )
  8. {
  9. printf( "%s\n", g_pszText );
  10. //从索引中把值取出来
  11. CHAR *pszText = (CHAR*)TlsGetValue( g_nTlsIndex );
  12. printf( "TLS: %s\n", pszText );
  13. }
  14. DWORD WINAPI PrintProc( LPVOID pParam )
  15. {
  16. CHAR *pszText = (CHAR*)pParam;
  17. g_pszText = (CHAR *)malloc( 100 );
  18. strcpy_s( g_pszText, strlen( pszText )+1, pszText );
  19. //将值保存到TLS索引当中
  20. TlsSetValue( g_nTlsIndex, g_pszText );
  21. while (true)
  22. {
  23. print( );
  24. Sleep( 1000 );
  25. }
  26. return 0;
  27. }
  28. //
  29. void Create( )
  30. {
  31. HANDLE hThread = NULL;
  32. DWORD nThreadID = 0;
  33. CHAR szText1[] = "ThreadProc-------";
  34. hThread = CreateThread( NULL, 0, PrintProc, szText1, 0, &nThreadID );
  35. //线程第二
  36. CHAR szText2[] = "ThreadProc2***********";
  37. hThread = CreateThread( NULL, 0, PrintProc, szText2, 0, &nThreadID );
  38. getchar( );
  39. WaitForSingleObject( hThread, INFINITE );
  40. CloseHandle( hThread );
  41. }
  42. int _tmain(int argc, _TCHAR* argv[])
  43. {
  44. //1、创建 TLS 索引
  45. //TlsAlloc
  46. g_nTlsIndex = TlsAlloc( );
  47. //创建线程
  48. Create( );
  49. //释放索引
  50. TlsFree( g_nTlsIndex );
  51. return 0;
  52. }

来自为知笔记(Wiz)

时间: 2024-08-01 22:47:03

36 windows_37_windows_Sync的相关文章

adb server version (31) doesn’t match this client (36); killing… 的解决方法

今天折腾了一下Android studio,好不容易搞完了,结果在运行adb命令的时候出错了 不要着急,我们先看下这个错误是怎么出现的. 1.搞完Android studio之后也升级使用了新的sdk,并配置了环境变量 2.启动了第三方模拟器 3.之后用adb devices命令就出现了上图的错误 从报错的原因来看应该是版本不一致导致的,大概的意思是说你现在的adb版本是31,但是你client端的却是36(这里的client端我猜就是第三方的模拟器)不匹配啊. 尝试解决下,既然版本不一致,那就

《电脑报》2017年第36期

下载地址: 电脑报 17年第36期.pdf

cogs 36.求和问题

36. 求和问题 ★   输入文件:sum.in   输出文件:sum.out   简单对比时间限制:1.2 s   内存限制:128 MB [问题描述] 在一个长度为n的整数数列中取出连续的若干个数,并求它们的和. [输入格式] 输入由若干行组成,第一行有一个整数n    第二行有n个整数    第三行有一个整数m    下面m行,每行两个整数i与j(i<=j),表示求和的起始和终止位置. [输出格式] 输出有m行, 每行一个整数,表示这个数段数列的和. [输入样例] 输入文件 82 3 4

彩票生成器--36选7(不重复)

import java.util.Random; public class suijishu { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 //36选7,不重复 //第一步,初始化 定义数组,建随机数组生成器 int []caiPiao=new int[7]; Random ran = new Random(); //第二步,生成 //随机生成7个数 for(int i=0;i<

第一套36

#include<stdio.h> struct S{int n;int a[20];}; void f(struct S *p) { int i,j,t; for(i=0;i<p->n-1;i++) for(j=i+1;j<p->n;j++) if(p->a[i]>p->a[j]) { t=p->a[i]; p->a[i]=p->a[j]; p->a[j]=t; } } main() { int i; struct S s={

益计算Shprotification.v6.8.15.22+Heat.Balance.v6.12.27.36+Cold.Balance.v2.6.14.18

热增益计算Shprotification.v6.8.15.22+Heat.Balance.v6.12.27.36+Cold.Balance.v2.6.14.18 Andrey.Shirshov.Shprotification.v6.8.15.22 Andrey.Shirshov.Heat.Balance.v6.12.27.36 Andrey.Shirshov.Cold.Balance.v2.6.14.18   "现代ASHRAE标准参考数据用于从人.设备.确定热输入的人工照明,半透明的击剑系数(

使用percona-xtrabackup-2.0.8将MySQL从5.1.73升级到5.6.36

1.安装xtrabackup cd /usr/local/ tar xvf percona-xtrabackup-2.0.8-587.tar.gz mv percona-xtrabackup-2.0.8 xtrabackup vim /root/.bash_profile PATH=$PATH:$HOME/bin:/usr/local/xtrabackup/bin source /root/.bash_profile 2.全量备份mysql 5.1.73数据库 innobackupex --us

Oracle性能优化之资源管理_超越OCP精通Oracle视频教程培训36

Oracle性能优化之资源管理_超越OCP精通Oracle视频教程培训36 课程介绍 风哥Oracle视频教程<<Oracle数据库性能优化培训教程>>的第6/10套:Oracle性能优化之资源管理.学习Oracle性能优化,为什么进行Oracle资源管理,如何对Oracle进行资源管理,Oracle资源管理技术如何使用,生产案例-限制数据库的CPU使用率,生产案例-限制服务器的CPU使用率. 视频教程学习地址: http://edu.51cto.com/course/course

Sqli-labs less 36

Less-36 我们直接看到36关的源代码 上面的check_quotes()函数是利用了mysql_real_escape_string()函数进行的过滤. mysql_real_escape_string() 函数转义 SQL 语句中使用的字符串中的特殊字符. 下列字符受影响: \x00 \n \r ' " \x1a 如果成功,则该函数返回被转义的字符串.如果失败,则返回 false. 但是因mysql我们并没有设置成gbk,所以mysql_real_escape_string()依旧能够被