CTP交易软件-从Windows迁移到Linux平台(3)

本篇讲多线程、同步、互斥

第一,多线程
在windows下面,多线程的实现是很简单的,当然,在Linux下面也不难。
HANDLE PositonMonitorThread = CreateThread(NULL, 0, PositonMonitor, strategy, 0, NULL);
//用于策略定时获取账号持仓信息,与自身的理论持仓作对比,达到仓位监控功能。
CloseHandle(PositonMonitorThread);
上面两行代码就可以创建一个线程,返回的HANDLE还应该判断是否为NULL,在这里就不判断了。
当然,创建线程时,指定了线程函数PositonMonitor,还传了个参数strategy(这是个指针),然后就实现线程函数即可。
但线程函数的格式是固定的,参数和返回值都必须是下面这样写,其实Linux的线程函数格式也是固定的。
DWORD WINAPI PositonMonitor(LPVOID lpParameter) //定时查询-更新账号资金信息
{
Strategy* pStrategy = (Strategy*)lpParameter; //用于查询账号持仓数量

return 0;
}

在Linux下,
#include <stdio.h>
#include<pthread.h>
using namespace std;
void thread_func(void) //线程函数原型固定格式,参数和返回值都必须是void*,需要使用时,可强制转换。
{
printf(“This is a pthread

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值