守护线程(软件更新)

  线程的中断:是可以利用flag标志来让while循环进行中断.

守护线程:

 1
 2     /*
 3         守护线程,如果当一个进程只剩下了守护线程,那么这个守护线程也要结束
 4                 也就是说主线程没有了,那么这个守护线程也要结束
 5             判断是否是守护线程: isDaemon()
 6
 7      */
 8
 9     @Override
10     public void run() {
11         for (int i = 0; i <= 100; i++) {
12             System.out.println("更新下载了"+i+"%");
13             if(i== 100){
14                 System.out.println("更新包下载完毕,准备安装");
15             }
16             try {
17                 Thread.sleep(100);
18             } catch (InterruptedException e) {
19                 // TODO Auto-generated catch block
20                 e.printStackTrace();
21             }
22         }
23     }
24
25     public static void main(String[] args) {
26
27         Demo12 de = new Demo12();
28
29         de.setDaemon(true);//设置为守护线程
30         System.out.println(de.isDaemon());
31         de.start();
32         for (int i = 0; i < 100; i++) {
33             System.out.println(Thread.currentThread().getName()+i);
34         }
35     }
时间: 2024-11-05 17:00:09

守护线程(软件更新)的相关文章

python网络编程--线程(锁,GIL锁,守护线程)

1.线程 1.进程与线程 进程有很多优点,它提供了多道编程,让我们感觉我们每个人都拥有自己的CPU和其他资源,可以提高计算机的利用率.很多人就不理解了,既然进程这么优秀,为什么还要线程呢?其实,仔细观察就会发现进程还是有很多缺陷的,主要体现在两点上: 进程只能在一个时间干一件事,如果想同时干两件事或多件事,进程就无能为力了. 进程在执行的过程中如果阻塞,例如等待输入,整个进程就会挂起,即使进程中有些工作不依赖于输入的数据,也将无法执行. 如果这两个缺点理解比较困难的话,举个现实的例子也许你就清楚

第二十八(线程的同步、守护线程、Timer 定时器)

/* 模拟ATM取款,不是线程同步机制,多线程同时对一个账户进行操作 t1 和 t2 异步编程模型:t1线程执行t1,t2线程执行的是t2,两个线程之间谁也不等于谁 同步编程模型:t1线程和t2线程执行,当t1线程必须等于t2的线程执行结果之后,t1线程才能执行 这是同步编程模型. 什么时候需要引入同步 1. 为了数据安全,尽管应用程序的使用率低,但是为了保证数据安全性,必须的加入线程同步机制 线程同步机制 使程序变成了(等同)单线程 2. 在什么条件下需要使用线程同步 <1> 必须是多线程环

守护线程

/* 守护线程(后台线程):在一个进程中如果只剩下了守护线程,那么守护线程也会死亡. 需求: 模拟QQ下载更新包. 一个线程默认都不是守护线程. */ public class Demo7 extends Thread { public Demo7(String name){ super(name); } @Override public void run() { for(int i = 1 ; i<=100 ; i++){ System.out.println("更新包目前下载"

java笔记--守护线程的应用

守护线程的应用 Java中的线程可以分为两类,即用户线程和守护线程.用户线程是为了完成任务,而守护线程是为其他线程服务 --如果朋友您想转载本文章请注明转载地址"http://www.cnblogs.com/XHJT/p/3894292.html "谢谢-- 守护线程的唯一用途是为其他线程提供服务.守护线程会随时中断,因此不要在守护线程上使用需要释放资源的资源,如输入输出流,数据库连接等所有的守护线程都是后台线程,如果虚拟机中只剩下守护线程,虚拟机就会退出 Thread类与守护线程相关

android开发之线程(守护线程daemon和User Thread)

Java将线程分为User线程和Daemon线程两种.其中Daemon thread即守护线程.1.所谓守护线程就是运行在程序后台的线程,程序的主线程Main(比方java程序一开始启动时创建的那个线程)不会是守护线程 2.Daemon thread在Java里面的定义是,如果虚拟机中只有Daemon thread 在运行,则虚拟机退出.   通常Daemon线程用来为User线程提供某些服务.程序的main()方法线程是一个User进程,User进程创建的进程为User进程.当所有的User线

iOS软件更新问题

1.软件中需要自己在后台服务器中,设定新的版本号.每次登陆软件从后台拉取数据,用最新版本号与当前版本号进行比较.实现软件更新. 2.每次登陆软件从苹果服务器拉取数据,用最新版本号与当前版本号进行比较.实现软件更新. 第一种检测更新方法的优点是:检测更新速度快.检测稳定:缺点是:和app store上的应用版本号不同步(app上架需要审核时间,不确定什么时候成功更新到app store上).第二种方法检测更新方法的优点是:检测版本号是实时同步的:缺点是:苹果网络不稳定,检测更新延时严重,部分APP

Android软件更新安装。

app的开发有一个问题是避免不了的,那就是软件的升级维护. 这里我在查过一些资料和写了一个升级帮助类.使用很方便.直接导入就可以了. ( VersionBean.class为更新地址返回的数据对象,我这里返回的是Json对象,因此该帮助类需要导入Gson 包) 更新地址返回的数据如下,对应这VersionBean.class  的内容 还需要注意的是获取当前用用的版本号  context.getPackageManager().getPackageInfo("com.lyf.petition&q

[转]MFC子线程中更新控件内容的两种办法

一.概述 每个系统中都有线程(至少都有一个主线程),而线程最重要的作用就是并行处理,提高软件的并发率.针对界面来说,还能提高界面的响应能力.一般的,为了应用的稳定性,在数据处理等耗时操作会单独在一个线程中运行,而所有与主UI线程有关的控件数据刷新应该到主UI线程中处理.也就是数据处理线程发消息,让界面UI去更新控件.在MFC中线程分为界面线程和工作者线程,界面实际就是一个线程画出来的东西,这个线程维护一个"消息队列","消息队列"也是界面线程和工作者线程的最大区别,

43. 守护线程 和 join方法

1.守护线程(后台线程):            我们在使用一款软件的时候,有的软件会让我们在不知道的情况下下载一些东西,那么这个就是后台线程.            一般用于提高软件的下载量(也就是赚取一些广告费)                        setDaemon(boolean b)    设置是否为守护线程            isDaemon()          返回是否为守护线程(是true否false)注意:当程序停止运行的时候,守护线程也必须停止 下面我们来模拟