`
ouyangfeng521
  • 浏览: 242819 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

android native c++ thread

 
阅读更多

下面的代码示例在android平台下使用线程类threads.h

 

MyThread.h

 

#ifndef _MYTHREAD_H
#define _MYTHREAD_H

#include <utils/threads.h>

namespace android {

class MyThread: public Thread {
public:
	MyThread();
	//virtual ~MyThread();
	//如果返回true,循环调用此函数,返回false下一次不会再调用此函数
	virtual bool threadLoop();
};

}
#endif

MyThread.cpp

#define LOG_TAG "MyThread"

#include <utils/Log.h>
#include "MyThread.h"

namespace android {

MyThread::MyThread() :
		Thread(false) {
	LOGD("MyThread");
}

//MyThread::~MyThread() {
//	LOGD("~MyThread");
//}

bool MyThread::threadLoop() {
	LOGD("threadLoop");
	return true;
}

}

 

main调用 

 

Main.cpp

 

#define LOG_TAG "Main"

#include <utils/Log.h>
#include <utils/threads.h>
#include "MyThread.h"

using namespace android;

int main()
{
	sp<MyThread>  thread = new MyThread;//此处一定要这么写
	thread->run("MyThread", PRIORITY_URGENT_DISPLAY);
	while(1);
	LOGD("main end");
	return 0;
}

 

最后Android.mk

 

LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)

LOCAL_SRC_FILES := MyThread.cpp \
	Main.cpp \
	
   
LOCAL_SHARED_LIBRARIES :=libandroid_runtime \
	libcutils \
	libutils  
	
LOCAL_MODULE := android_thread

LOCAL_MODULE_TAGS := eng
	
LOCAL_PRELINK_MODULE := false

#include $(BUILD_SHARED_LIBRARY)
include $(BUILD_EXECUTABLE)
 
分享到:
评论
1 楼 kezhon 2014-04-16  
大侠您好,能问下为什么main函数内要 while(1);  这句吗?

相关推荐

Global site tag (gtag.js) - Google Analytics