事实上在cocos2dx下使用多线程事实上就是用C++去写,这里提供几个简单的样例:

原文地址:http://blog.csdn.net/qqmcy/article/details/36227377

1、

//
// PublicScene.cpp
// testthirdone
//
// Created by 杜甲 on 14-7-1.
// void hello()
{
log("hello thread");
} bool PublicScene::init()
{
bool bRet = false;
do {
CC_BREAK_IF(!Scene::init()); std::thread t1(hello);
t1.join();
log("主线程"); bRet = true;
} while (0);
return bRet;
} std::thread t1(hello);
t1.join();
log("主线程");

2、

//
// PublicScene.cpp
// testthirdone
//
// Created by 杜甲 on 14-7-1.
//
// void hello()
{
log("hello thread");
} bool PublicScene::init()
{
bool bRet = false;
do {
CC_BREAK_IF(!Scene::init()); std::vector<std::thread> threads;
for (int i = 0; i < 5; ++i)
{
threads.push_back(std::thread([ = ]()
{
log("%s",StringUtils::format(" thread %d",i).c_str());
}));
} for (auto& thread :threads) {
thread.join();
} log("Main Thread"); bRet = true;
} while (0);
return bRet;
}

3、

//
// PublicScene.cpp
// testthirdone
//
// Created by 杜甲 on 14-7-1.
//
// void hello()
{
log("hello thread");
} bool PublicScene::init()
{
bool bRet = false;
do {
CC_BREAK_IF(!Scene::init()); std::mutex m;
std::thread t1([&m](){
m.lock();
for (int i = 0; i < 10; i++) { log("%s",StringUtils::format(" thread1 %d",i).c_str()); }
m.unlock();
}); std::thread t2([&m](){ m.lock();
for (int i = 0; i < 10; i++) { log("%s",StringUtils::format(" thread2 %d",i).c_str()); }
m.unlock();
}); t1.join();
t2.join(); log("Main Thread"); bRet = true;
} while (0);
return bRet;
}

cocos2d-x3.2 下使用多线程的更多相关文章

  1. C#实现http协议下的多线程文件传输

    用C#实现HTTP协议下的多线程文件传输转自  http://developer.51cto.com/art/201105/263066_all.htm C#(C Sharp)是微软(Microsof ...

  2. 【转】 Linux下的多线程编程

    作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/原文链接:http://www.cnblogs.com/gnuhpc/archive/2012/12/07/280 ...

  3. Linux下的多线程编程

    1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者.传统的 Unix也支持线程的概念,但是在一个进程(proces ...

  4. 多线程编程之Linux环境下的多线程(三)

    前面两篇文章都讲述了Linux环境下的多线程编程基础知识,也附带了典型实例.本文主要比较一下Linux环境与Windows环境下的多线程编程区别. 看待技术问题要瞄准其本质,不管是WIN32.Linu ...

  5. 多线程编程之Linux环境下的多线程(一)

    一.Linux环境下的线程 相对于其他操作系统,Linux系统内核只提供了轻量级进程的支持,并未实现线程模型.Linux是一种“多进程单线程”的操作系统,Linux本身只有进程的概念,而其所谓的“线程 ...

  6. 【转】Linux下的多线程编程

    1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程到操作系统中去,是在80年代中期,solaris是这方面的佼佼者.传统的 Unix也支持线程的概念,但是在一个进程(proces ...

  7. (转)浅谈.NET下的多线程和并行计算(一)前言

    转载——原文地址:http://www.cnblogs.com/lovecindywang/archive/2009/12/25/1632014.html 作为一个ASP.NET开发人员,在之前的开发 ...

  8. C#Stimulator项目>>>C/C++ DLL的生成和调用,Windows下的多线程

    Windows下的多线程 http://blog.csdn.net/ganpengjin1/article/category/2541791 使用C/C++建立DLL,环境VS2013 新建Win32 ...

  9. 《转》Linux下的多线程编程

    原地址:http://linux.chinaunix.net/doc/program/2001-08-11/642.shtml 1 引言 线程(thread)技术早在60年代就被提出,但真正应用多线程 ...

  10. Windows平台下的多线程编程

    线程是进程的一条执行路径,它包含独立的堆栈和CPU寄存器状态,每个线程共享所有的进程资源,包括打开的文件.信号标识及动态分配的内存等.一个进程内的所有线程使用同一个地址空间,而这些线程的执行由系统调度 ...

随机推荐

  1. 24岁菜鸟,能一个人撑起App开发吗

     "疲惫吾心.怎样躲藏.四处荒芜,怎话忧伤?"临近中秋,看到艾瑞斯的QQ签名,无尽的伤感.这个年仅24的青年.连续3年没有回家了,近期一个月总是失眠,没有家人的陪伴,就连女朋友 ...

  2. python绘制caffe中网络模型

    caffe-master/python/draw_net.py 实现绘制caffe中定义的网络模型功能,将.prototxt文件可视化. 需要先安装pydot和protobuf工具 通过Anacond ...

  3. java代码实现python2中aes加密经历

    背景: 因项目需要,需要将一个python2编写的aes加密方式改为java实现. 1.源python2实现 from Crypto.Cipher import AES from binascii i ...

  4. SQL Server 从字符串中提取中文、英文、数字

    --[提取中文] IF OBJECT_ID('dbo.fun_getCN') IS NOT NULL DROP FUNCTION dbo.fun_getCN GO create function db ...

  5. MySQL 我自己常用的语句汇总

    1,更新,根据一个表更新另一个表,比如批量同步外键 方法一: update 更新表 set 字段 = (select 参考数据 from 参考表 where  参考表.id = 更新表.id); up ...

  6. C语言中以文本方式读写文件时换行符转换的注意事项

    我们知道在UNIX下是没有回车符(\r)的,只有换行符(\n),而C语言诞生于UNIX(Linux即面向开源的UNIX,Mac OS也是UNIX发展而来的,而Windows是从MS-DOS发展而来,与 ...

  7. javascript中client()兼容性封装

    function client() { var clientWidth = window.innerWidth || document.documentElement.clientWidth || d ...

  8. C# 基础复习 四 ADO

    调用存储过程,并接收多个表的查询结果 一个表用一个DataTable,DataSet可以存储多个DataTable DataSet需要SqlDataAdapter来填充数据 SqlConnection ...

  9. node——简单的服务器启动+乱码问题解决,响应报文头

    这个是一个比较简单的代码 // 1.加载hrrp模块 var http=require('http'); // 2.创建一个http服务对象 var server=http.createServer( ...

  10. mysql对事务的支持

    起因:因为只是需要编写一个接口,无需使用框架,但是又要求对数据库的操作支持事务,所以直接使用mysql自带的事务进行处理 mysql自带对事务的支持,但是他默认是关闭的,需要我们手动打开,打开mysq ...