设为首页 加入收藏

TOP

C/C++_多和多线程_demo1
2017-07-20 10:22:47 】 浏览:5045
Tags:C/C 线程 _demo1

前言

文档分为两个部分。
第一部分:前言,这篇文章主要是记录了一个简单的demo,证明两个线程在同时运行,记录下学习内容;
第二部分:demo的内容,运行环境,如何实现。

主要内容

环境

软件运行环境:Android N
软件编译环境:
硬件环境:全志H6

demo功能

在android 系统上运行一个demo,开辟两条线程,让它们同时工作输出打印。

代码内容

在android代码下面external目录下新建文件夹initDemo,创建以下三个文件:Android.mk、initThread.cpp、initThread.h
Android.mk内容如下:

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



LOCAL_LDFLAGS += -shared \

LOCAL_SRC_FILES:= \
    initThread.cpp \

LOCAL_C_INCLUDES := \
    $(LOCAL_PATH)/ \


LOCAL_SHARED_LIBRARIES := \
    libcutils \
    libutils \
    liblog \

LOCAL_MODULE_TAGS := optional

LOCAL_CFLAGS += -Wno-multichar

LOCAL_MODULE:= testForThread

#include $(BUILD_SHARED_LIBRARY)
include $(BUILD_EXECUTABLE)

initThread.cpp内容如下:

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include "initThread.h" using namespace android ; sp
      
        mFun1Thread; sp
       
         mFun2Thread; int main(int argc, char* const argv[]) { mFun1Thread = new DoFun1Thread(); mFun2Thread = new DoFun2Thread(); mFun1Thread->startThread(); mFun2Thread->startThread(); while(true) { printf("zjw,in main!\n"); sleep(1); } return 0; }
       
      
     
    
   
  

initThread.h内容如下:

#ifndef __INIT_THREAD_H__
#define __INIT_THREAD_H__

#include 
  
   
#include 
   
     namespace android { int Fun1Thread(void) { printf("Fun1Thread,one!\n"); sleep(1); return true; } int Fun2Thread(void) { printf("Fun2Thread,two!\n"); sleep(1); return true; } class DoFun1Thread : public Thread { bool mRequestExit; public: DoFun1Thread() : mRequestExit(false) { } void startThread() { run("testFun1Thread", PRIORITY_URGENT_DISPLAY); } void stopThread() { mRequestExit = true; } virtual bool threadLoop() { if (mRequestExit) { return false; } return Fun1Thread(); } }; class DoFun2Thread : public Thread { bool mRequestExit; public: DoFun2Thread() : mRequestExit(false) { } void startThread() { run("testFun2Thread", PRIORITY_URGENT_DISPLAY); } void stopThread() { mRequestExit = true; } virtual bool threadLoop() { if (mRequestExit) { return false; } return Fun2Thread(); } }; }; /* namespace android*/ #endif /* __INIT_THREAD_H__ */
   
  
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇C++自学之路:3.1-简单变量 下一篇C++ 继承

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目