service-Service中线程的唯一实例

问题描述

Service中线程的唯一实例
我在service中初始化一个新的Thread。但是当我重启service时,新的被创建了,同时系统也崩溃了,因为我使用了照相机功能。如何让线程中只有一个实例呢?
当关闭在线程中创建的service时。线程也同时被关闭吗?

解决方案

你应该使用一个lock或者一个静态变量:

private static boolean isThreadRunning;

在你的service里写入以下方法:

if(isThreadRunning)   return;Thread t=new Thread(new Runnable(){protected void run(){   isThreadRunning=true;   while(yourcondition){     //thread代码   }   isThreadRunning=false;   //在这个个线程结束后,你想启动另一个线程,你应该在这贴出信息,来启动另外一个线程    }});

解决方案二:
单例 解决问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

时间: 2024-11-17 03:19:20

service-Service中线程的唯一实例的相关文章

Java中线程休眠编程实例_java

import java.awt.*; import java.util.*; import javax.swing.*; public class SleepMethodTest extends JFrame { /** * */ private static final long serialVersionUID = 1L; private Thread t; // 定义颜色数组 private static Color[] color = { Color.BLACK, Color.BLUE,

Android中Service实时向Activity传递数据实例分析

本文实例讲述了Android中Service实时向Activity传递数据的方法.分享给大家供大家参考.具体如下: 这里演示一个案例,需求如下: 在Service组件中创建一个线程,该线程用来生产数值,每隔1秒数值自动加1,然后把更新后的数值在界面上实时显示. 步骤如下: 1.新建一个android项目工程,取名为demo. 2.新建一个Service类,用来实时生产数值,供界面实时显示. package com.ljq.activity; import android.app.Service;

以实例简介Java中线程池的工作特点_java

什么原因使我们不得不使用线程池? 个人认为主要原因是:短时间内需要处理的任务数量很多 使用线程池的好处: 1.减少在创建和销毁线程上所花的时间以及系统资源的开销 2.如不使用线程池,有可能造成系统创建大量线程而导致消耗完系统内存 以下是Java自带的几种线程池: 1.newFixedThreadPool  创建一个指定工作线程数量的线程池. 每当提交一个任务就创建一个工作线程,如果工作线程数量达到线程池初始的最大数,则将提交的任务存入到池队列中. 2.newCachedThreadPool 创建

service-Android Service类中调用NDK编译的库的问题

问题描述 Android Service类中调用NDK编译的库的问题 现碰到的问题如下: 在Java层写了一个类代码如下: public?class?MeiaPush?{ ????????public?native?int?meia_push_init?(); ????????public?native?int?meia_push_set_client_info?(String?cid,?String?pwd,?String?type,?String?token); ????????public

(初学)我写一个学校MIS系统,service包中需要用接口吗?

问题描述 我的思路:首先我我在model包中写了Person类,有姓名,性别,电话三个属性:然后Student类从Person继承,有自己的属性id:Teacher类从Person继承,也有自己的属性Tid:在Service包中想实现学生和老师信息的正删改查功能,是不是要用到接口啊?然后StudentService和TeacherService执行Service接口,接口中我写了抽象方法:packagecom.soft.service;importcom.soft.model.Person;pu

JAVA+AXIS客户端调用Asp.net Web Service过程中遇到的问题及解决方法

        背景:公司与某运营商合作,运营商提供了接口文档,在文档中规定了数据流是双向的,运营商和公司之间的通讯采用Web Service方式,双方互为客户端和服务器端.这次遇到的问题,就是运营商的客户端调用我公司服务端的Web Service时出现的情况.需要特别说明的是:运营商有几十家合作伙伴,所以客户端的代码是不能因为某一家合作伙伴而修改的,各合作伙伴的WEB SERVICE开发环境也不相同,大部分都是用JAVA语言开发,而我公司是用VS2005开发的.         过程:    

ASP.NET MVC+EF框架+EasyUI实现权限管理系列(8)-DbSession线程内唯一

原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(8)-DbSession线程内唯一 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇)   (1):框架搭建    (2):数据库访问层的设计Demo    (3):面向接口编程   (4 ):业务逻辑层的封装  (5):前台Jquery easyUI实现   (6):EF上下文实例管理   (7):DBSession的封装 前言:通过上篇博客我们完成了对DbSession的代码编写,DbSession就相

Linux集群和自动化维3.7.2 线上环境中的Fabric应用实例

3.7.2 线上环境中的Fabric应用实例 笔者线上的核心业务机器统一都是AWS EC2主机,机器数量较多,每个数据中心都部署了Fabric跳板机(物理拓扑图可参考图3-3),系统为Amazon Linux,内核版本为3.14.34-27.48.amzn1.x86_64,Python版本为Python 2.6.9. 如果公司项目组核心开发人员离职,线上机器就都要更改密钥,由于密钥一般是以组的形式存在的,再加上机器数量繁多,因此单纯通过技术人员手工操作,基本上是一项不可能完成的任务,但若是通过F

nodejs中实现sleep功能实例

 这篇文章主要介绍了nodejs中实现sleep功能实例,本文讲解了sleep功能的开发过程和使用效果及性能测试,需要的朋友可以参考下     nodejs最让人不爽的就是其单线程特性,很多事情没法做,对CPU密集型的场景,性能也不够强劲.很长一段时间,我想在javascript语言框架下寻求一些解决方案,解决无法操作线程.性能差的问题.曾经最让我印象深刻的方案是fibers,不过fibers也好,其他方案也好,在线程操作上还是很别扭,太过依赖辅助线程,本末倒置:就fiber而言,javascr