java线程
来源:互联网 发布:mpp数据库类型 编辑:程序博客网 时间:2024/06/06 09:12
Java线程 多线程是操作系统的重要组成部分,可以提高应用程序的效率,将耗时操作放进工作线程,可以提 高用户体验.
进程的特点:
可以同时存在多个进程,这些进程会交替执行,且切换频率高,每次切换到某个进程时,该进程运行的时间比较随机。 进程是若干个线程的集合,当进程运行时,真正运行的是进程中的线程。 一个进程可以有多个线程,每个正在执行的进程中,都至少存在1个正在执行的线程。 每个进程启动时,会默认开启1个线程,该线程通常称之为“主线程”。 开发者可以在程序中自由的创建新的线程,并启动,这些新的线程通常称之为“子线程”,或者“工作线程”。创建并启动线程【方式1】 1. 自定义类,继承自java.lang.Thread类 2. 在自定义类中重写public void run()方法 3. 当需要启动线程时,创建自定义类的对象,并调用该对象的start()方法【方式2】 1. 自定义类,实现java.lang.Runnable接口 2. 在自定义类中重写public void run()方法 3. 当需要启动线程时,创建自定义类的对象.
然后,创建Thread类的对象,在创建Thread类对象时,将自定义类对象作为构造方法的参数.
最后,调用Thread类对象的start()方法.ANR ANR:Application Not Responding:应用程序无响应 ANR是由于主线程执行任务消耗时间过长导致的。Android中的UI线程模型 UI:User Interface 在Android系统中,主线程是用于初始化界面、响应用户在界面上的操作等等的,
所以,主线程也叫做UI线程。 UI线程执行时间过长,则可能导致ANR!如果是在Activity中,则超过5s就可能出现ANR,
如果是在BroadcastReceiver中,则超过10s就可能出现ANR。 对于开发者而言,只要是消耗时间可能比较长的操作,都应该规避处理。解决ANR问题的根本方法:把耗时操作放在子线程中运行!在子线程中更新UI 不允许在子线程中直接更新UI,否则应用程序将崩溃解决方案:
当需要在子线程中更新UI时,调用runOnUiThread()方法即可。
0 0
- Java线程:什么是线程
- Java线程:线程池
- java线程--线程退出
- JAVA-线程/线程锁
- Java线程:什么是线程
- Java线程:线程中断
- Java线程:线程状态
- Java线程: 线程调度
- Java线程:线程交互
- java--线程--线程池
- java 线程
- Java线程
- java线程
- java线程
- Java线程
- Java线程
- java线程
- JAVA 线程
- 排序算法总结(一)
- linux 2.6内核 编译模块Makefile 详解
- 当谨慎变成了常态
- 节点带有属性的xml pull解析
- 在Linux下使用MySQl遇到的小问题集合
- java线程
- HttpURLConnection 的get请求
- Linux sudo一些命令出现 command not found 的原因
- html元素大小与位置讲解
- Titan java读数据的相关api使用 (初学)
- spring的ioc之Resource
- HashMap VS WeakHashMap
- 文件结构
- cocos2dx完整运行过程_win32