`

起线程,注意事项,生命周期

 
阅读更多
起线程,注意事项,生命周期

//收到交易弹出公告
void TradeMainUI::OnTradePoputBulletin(const string& seq)
{
	//启动线程处理以下消息
	char *temp = new char[128];
	strcpy(temp, seq.c_str());
	HANDLE hHandle = CreateThread(NULL, 0, TradePoputBulletinThread, (void*)(temp), 0, NULL);
	CloseHandle(hHandle);
	
}
DWORD WINAPI TradeMainUI::TradePoputBulletinThread(LPVOID pVoid)
{
	try
	{
		string seq = (char*)pVoid;
		FTFutureTradeAgent* pAgent = (FTFutureTradeAgent*)((MQTradeRobot*)gPtrRobotQueen)->GetMarketTradeAgent();
		TradeBulletin* pTradeBulletin = pAgent->GetTradeBulletinManager()->GetBulletinBySeq(seq);
		if(pTradeBulletin != NULL)
		{
			TCHAR tcTitle[512] = {0};
			TCHAR tcContent[1024] = {0};
			EncodingHandler::MByteToWChar(pTradeBulletin->GetTitle().c_str(), tcTitle, 512);
			EncodingHandler::MByteToWChar(pTradeBulletin->GetContent().c_str(), tcContent, 1024);
			MessageBoxEx(NULL, tcContent, tcTitle, MB_OK | MB_TOPMOST, -1);
		}
		if (pVoid != NULL)
		{
			delete pVoid;
			pVoid = NULL;
		}
		return 0;
	}
	catch(RunTimeException & rtex)
	{
		char cErro[1024] = {0};
		sprintf(cErro,"\nTradePoputBulletinThread____%s\n",rtex.what());
		OutputDebugStringA(cErro);
		//g_WriteLogInfo->WriteWithTime(cErro);
		if (pVoid != NULL)
		{
			delete pVoid;
			pVoid = NULL;
		}
		return 0;
	}
	catch(...)
	{}
	{
		//pAgent->_TradeObjIdLock.UnLock();
		if (pVoid != NULL)
		{
			delete pVoid;
			pVoid = NULL;
		}
		return 0;
	}
}


1、
string转成LPVOID
(void*)(str.c_str());
2、
LPVOID转成string
string seq = (char*)pVoid;

string seq = (char* &)pVoid;这个的区别

3、生命周期
分享到:
评论

相关推荐

    java-concurrent-source:Java多并发编程从入门到精通源码-源码通

    并行运算,并发运算1.10 Linux和Windows对于并发采取的不同机制第2章认识Java里面的线程2.1先来看一下线程的简单实现三种方法2.2线程里面的属性和方法2.3关于线程的中断机制2.4螺纹的生命周期2.5什么是守护线程2.6...

    Java-Concurrency-Progamming-Tutorial:BAT华为大厂一线工程师四年磨一剑精心编排 Java 高并发编程案例代码 & 教程 & 面试题集锦。详细文档讲解请阅读本人的知识库仓:https

    线程生命周期 趣解Thread和Object类中线程相关方法:wait、notify、join、yield… 线程属性 线程异常处理 线程安全与程序性能的取舍之道 ... 3 环境参数 Maven 3.6+ JDK 8+ Tomcat 8.5+ MySQL 8.0.16+ Redis 6.0+ ...

    CustomThreadPool:用于服务器上的计算工作的自定义ThreadPool实现(示例计算是第N个斐波那契数)

    一旦创建了最小线程,它们将在池的生命周期内保持活动状态。 但是,如果需要更多线程,则线程池将创建新线程。 一旦工作线程完成执行其活动,便将其返回到线程池。 如果没有工作,线程将在闲置大约2分钟后自毁。 ...

    实战Java高并发程序设计(第2版)PPT模板.pptx

    7使用akka构建高并发程序 7.1新并发模型:actor 7.2akka之helloworld 7.3有关消息投递的一些说明 7.6选择actor 7.5监督策略 7.4actor的生命周期 01 02 03 04 05 06 实战Java高并发程序设计(第2版)PPT模板全文共25...

    java自学之道

    1.4 控制一个线程生命周期最常用的方法 2、线程的创建和启动 3、线程的同步与死锁 3.1 同步的概念 3.2 线程同步举例 3.3 线程死锁 六、GUI 1、图形用户界面概述 1.1 组件 1.2容器 1.3 AWT组件 1.4 Swing组件 1.5 ...

    Android开发艺术探索.任玉刚(带详细书签).pdf

    7.4 使用动画的注意事项 292 第8章 理解Window和WindowManager 294 8.1 Window和WindowManager 294 8.2 Window的内部机制 297 8.2.1 Window的添加过程 298 8.2.2 Window的删除过程 301 8.2.3 Window的更新过程...

    Android开发艺术探索

     7.4 使用动画的注意事项 / 292  第8章 理解Window和WindowManager / 294  8.1 Window和WindowManager / 294  8.2 Window的内部机制 / 297  8.2.1 Window的添加过程 / 298  8.2.2 Window的删除过程 / 301  ...

    java初学者必看

    1.7.2 Java虚拟机的生命周期 1.7.3 Java虚拟机的体系结构 1.8 垃圾收集器 1.9 本章习题 第2章 Java开发环境 2.1 J2SE的下载和安装 2.1.1 J2SE的下载 2.1.2 J2SE的安装 2.2 环境变量的配置与测试 2.2.1 设置...

    corejava培训文档

    14.3. 线程的生命周期 14.4. Thread的方法 14.5. 共享数据的并发处理 14.6. 使用互斥锁的注意事项 15. 十四 标准I/O流与文件 15.1. 对文件的操作 15.2. 处理跨平台性 15.3. 对象的序列化接口 15.4. I/O流...

    android开发艺术探索高清完整版PDF

    目录 第1章 Activity的生命周期和启动模式 / 1 1.1 Activity的生命周期全面分析 / 1 1.1.1 典型情况下的生命周期分析 / 2 1.1.2 异常情况下的生命周期分析 / 8 1.2 Activity的启动模式 / 16 1.2.1 Activity的...

    精通ANDROID 3(中文版)1/2

    2.7 了解应用程序生命周期  2.8 调试应用程序  2.8.1 启动模拟器  2.8.2 StrictMode  2.8.3 参考资料  2.9 小结  第3章 使用Android资源  3.1 资源  3.1.1 字符串资源  3.1.2 布局资源  3.1.3 ...

    精通Android 3 (中文版)2/2

    2.7 了解应用程序生命周期  2.8 调试应用程序  2.8.1 启动模拟器  2.8.2 StrictMode  2.8.3 参考资料  2.9 小结  第3章 使用Android资源  3.1 资源  3.1.1 字符串资源  3.1.2 布局资源  3.1.3 ...

    21天学通Java-由浅入深

    252 13.2 定义线程和创建线程对象 252 13.2.1 继承Thread类定义线程 252 13.2.2 实现Runnable接口定义线程 253 13.3 运行线程 254 13.3.1 启动线程 254 13.3.2 同时运行多个线程 256 13.4 线程生命周期 257 13.4.1 ...

    涵盖了90%以上的面试题

    使用switch时有哪些注意事项 instanceof有什么作用 什么是不可变类 类型转换 Math类的round,ceil和floor方法 值传递和引用传递有什么不同? char型变量是否可以存储一个中文汉字 s=null和s=” ”是否相同 new String...

    java学习笔记 初学者必读

    14.3. 线程的生命周期 14-43 14.4. Thread的方法 14-43 14.5. 共享数据的并发处理 14-44 14.6. 使用互斥锁的注意事项 14-44 15. 十四•标准I/O流与文件 15-46 15.1. 对文件的操作 15-46 15.2. 处理跨平台性 15-46 ...

    corejavaNoteBook

    14.3. 线程的生命周期 14-43 14.4. Thread的方法 14-43 14.5. 共享数据的并发处理 14-44 14.6. 使用互斥锁的注意事项 14-44 15. 十四•标准I/O流与文件 15-46 15.1. 对文件的操作 15-46 15.2. 处理跨平台性 15-46 ...

    Java开发详解.zip

    030906_【第9章:多线程】_线程生命周期笔记.pdf 031001_【第10章:泛型】_泛型入门笔记.pdf 031002_【第10章:泛型】_通配符笔记.pdf 031003_【第10章:泛型】_泛型的其他应用笔记.pdf 031004_〖第10章:泛型〗_...

Global site tag (gtag.js) - Google Analytics