线程的生命周期 - 理解Java中线程的状态

刚刚开始学cocos2-x,仅仅是按照教程把已经安了一般Android的开发环境的eclipse重新升级到安装好cdt和ndk就花了我几十小时,差点都要放弃了。

参考博客 D:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt

说说大概的过程:

下载ndk插件,ndk包,cdt插件。最开始我按照书上的下载了cocos2d-x 2.0.1,希望跟书上统一起来,这样以后学习的时候可以参考书上的也不会遇到太多问题。下好了之后就遇到了问题,我的电脑上只有vs2013 ,而那个版本的只支持2010和2008,我把项目转成了vs2013的之后,新建工程的时候发现没有cocos2d的模板,这就是2013的跟那个衔接有点问题。然后我又下载了cocos2d-x2.2.3版本的,接着听室友说新版的不能再用vs来新建项目,接着又百度看看最新的是怎么一回事,原来是用Python脚本来一次新建多平台的多个工程。好吧,接着下载Python,因为习惯问题我每次喜欢下载最新的软件,下载下来安装好了,环境变量也配好了,开始新建2.2.3的项目(顺便说一下,2.0.1的貌似还不能用Python这种方法建,因为我没找到相应的文件,不知道是不是还有其他方法,所以我才下载2.2.3版本的),运行的时候发现控制台报错,语法错误,说那个print怎么滴。。。又百度了一下才知道3.0版本以后的Python的print改成了函数要写成print()才行,没办法卸载了又下载了一个2.7版本的,接下来就是一马平川了,但是。。。。这仅仅是新建了项目而已,能不能编译然后在你手机上运行就难说了。

至于那个是怎么导入的我就不说了,说关键的,就是那么多红叉是怎么消除的。

1.把cocos2d-x-2.2.3\cocos2dx\platform\android\java 添加到eclipse里面,方便以后调用。

2.把1导入的那个工程添加到buildpath。

3.参考http://blog.csdn.net/b1boy/article/details/14645277,这里面说的比较好,

NDK_ROOT 路径为D:\AndroidSDK\android-ndk-r9d

COCOS2DX路径为D:\cocos2d-x\cocos2d-x-2.2.3

NDK_MODULE_PATH 路径为 D:\cocos2d-x\cocos2d-x-2.2.3;D:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt

声明一下,上面的NDK_MODULE_PATH我在其他的博客上看到有些人说两个路径之间的那个是冒号,比如路径1:路径2:路径3。。。,我也改过这样,没改好,最后还是用的分号。事实证明分号是对的,不知道他们为什么非要强调说用冒号,可能是版本的问题。

这两点很重要,看清楚图上说的位置,设置好了错误基本上差不多没了

4.修改Android.mk 添加

$(call import-add-path,

D:\cocos2d-x\cocos2d-x-2.2.3)

$(call import-add-path,

D:\cocos2d-x\cocos2d-x-2.2.3\cocos2dx\platform\third_party\android\prebuilt)

5.NDK的路径里面绝对不能用空格。在eclipse里面调用的时候没提示我不可以,但是一用命令行你就会发现提示 路径里面不能有空格。至于cocos2dx的路径能不能有空格,我现在也记不清了,为了保险起见大家设置路径的时候都不要有空格或者中文字符。

6.如果cpp或者Java里面有文件说头文件或者包 类 没找到,你需要把D:\AndroidSDK\android-ndk-r9d\platforms\android-14\arch-arm\usr\include包含进去,new folder->advanced->link。。。->finish这样添加进去。

以上就是我几十个小时的总结,哎。。。总算搞定了开头部分。

线程的生命周期 - 理解Java中线程的状态

时间: 2024-12-24 13:35:22

线程的生命周期 - 理解Java中线程的状态的相关文章

Java中的线程的生命周期大体可分为5种状态

Java中的线程的生命周期大体可分为5种状态. ①NEW:这种情况指的是,通过New关键字创建了Thread类(或其子类)的对象 ②RUNNABLE:这种情况指的是Thread类的对象调用了start()方法,这时的线程就等待时间片轮转到自己这,以便获得CPU:第二种情况是线程在处于RUNNABLE状态时并没有运行完自己的run方法,时间片用完之后回到RUNNABLE状态:还有种情况就是处于BLOCKED状态的线程结束了当前的BLOCKED状态之后重新回到RUNNABLE状态. ③RUNNING

Core Java-多线程-线程的生命周期

0. 在介绍线程前我们先看一下什么是进程? 进程是线程的母亲,如果在大学计算机课程里读过操作系统一定不会陌生. 所谓进程,它是计算机程序关于某数据集上的一次活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础. 罗里吧嗦一大堆,还是不够简洁? 那就一句话来表达吧:进程是正在执行的程序实例. 进程的内存布局 逻辑上一个进程可以划分为以下几部分(段): * 文本: 程序的指令 * 数据: 程序使用的静态变量 * 堆:   程序可以从该区域动态分配额外内存 * 栈:   随函数调用, 返回而

线程的生命周期及五种基本状态

我们知道线程是操作系统能够进行运算调度的最小单位,在java中的线程其实就是对操作系统的中的线程进行了封装. 我们今天就来说说Java线程的生命周期,也就线程的生老病死! Java的线程生命周期有六种状态: New(初始化状态) Runnable(就绪状态) Running(运行状态) Blocked(阻塞状态) Terminated(终止状态) 1.New(初始化状态):当线程对象对创建后,即进入了新建状态,如:Thread t = new MyThread(); 2.Runnable(就绪状

线程的生命周期(五)

这篇博客介绍线程的生命周期. 线程是一个动态执行的过程,它也有从创建到死亡的过程. 在 Thread 类中,有一个枚举内部类: 上面的信息以图片表示如下: 第一张图: 第二张图:把等待.计时等待.阻塞看成阻塞一个状态了 1.新建状态(new):使用 new 创建一个线程,仅仅只是在堆中分配了内存空间 新建状态下,线程还没有调用 start()方法启动,只是存在一个线程对象而已 Thread t = new Thread();//这就是t线程的新建状态 2.可运行状态(runnable):新建状态

简要分析一下java中线程的生命周期

面试题:您了解线程吗?简单叙述一下线程的生命周期? 答:之前学过一些有关于线程方面的知识,并且在编写代码的过程中还是要经常考虑线程,所以,我对线程还是了解一点的. 首先,创建一个线程,线程进入初始状态,线程调用start()方法,进入可运行状态,然后被操作系统选中,进入运行状态,在运行状态有五种情况,1.线程调用run()方法,一运行进入终止状态,2.线程调用sleep等方法进入阻塞状态,时间到期进入可运行状态3.线程调用wait()方法进入等待队列状态,然后被唤醒进入锁池状态,被操作系统选中进

死磕 java线程系列之线程的生命周期

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本. 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的. 常见的错误有:就绪状态.运行中状态(RUNNING).死亡状态.中断状态.只有阻塞没有等待状态.流程图乱画等,最常见的错误就是说线程只有5种状态. 今天这篇文章会彻底讲清楚线程的生命周期,并分析synchronized锁.基于AQS的锁中线程状态变化的逻辑. 所以,对synchronized锁和AQS原理(

Java面试题:线程的生命周期包括哪几个阶段?

面试官:您知道线程的生命周期包括哪几个阶段? 应聘者: 线程的生命周期包含5个阶段,包括:新建.就绪.运行.阻塞.销毁. 新建:就是刚使用new方法,new出来的线程: 就绪:就是调用的线程的start()方法后,这时候线程处于等待CPU分配资源阶段,谁先抢的CPU资源,谁开始执行; 运行:当就绪的线程被调度并获得CPU资源时,便进入运行状态,run方法定义了线程的操作和功能; 阻塞:在运行状态的时候,可能因为某些原因导致运行状态的线程变成了阻塞状态,比如sleep().wait()之后线程就处

Java多线程 2 线程的生命周期和状态控制

一.线程的生命周期 线程状态转换图: 1.新建状态 用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新生状态.处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态(runnable). 注意:不能对已经启动的线程再次调用start()方法,否则会出现Java.lang.IllegalThreadStateException异常. 2.就绪状态 处于就绪状态的线程已经具备了运行条件,但还没有分配到CPU,处于线程就绪队列(尽管是采用队列形式,事实上,把它

Java线程的生命周期(转)

Java线程的生命周期 一个线程的产生是从我们调用了start方法开始进入Runnable状态,即可以被调度运行状态,并没有真正开始运行,调度器可以将CPU分配给它,使线程进入Running状态,真正运行其中的程序代码.线程在运行过程中,有以下几个可能的去向: (1)调度器在某个线程的执行过程中将CPU分配给了其它线程,则这个线程又变为Runnable状态,等待被调度. (2)调度器将CPU分配给了该线程,执行过程中没有遇到任何阻隔,运行完成直接结束,也就是run()方法执行完毕. (3)线程在