一个NSThread对象就代表一条线程 下面是NSThread开启线程的方法 NSThread 创建线程的生命周期 当线程中的任务执行完毕后 线程被释放掉 可以继承NSThread创建一个新类 重写dealloc方法来验证 线程的状态 当线程处于就绪状态时线程会被移到可调度线程池里面(CPU只调度此 ...
分类:
移动开发 时间:
2018-03-06 00:49:10
阅读次数:
309
一、线程的生命周期 线程状态转换图: 1、新建状态 用newkeyword和Thread类或其子类建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态(runnable)。 注意:不能对已经启动的线程再次调用start()方法,否则会出 ...
分类:
编程语言 时间:
2018-03-04 11:51:29
阅读次数:
261
开篇废话 今天我们一起来学习JVM的内存分配,主要目的是为我们Android内存优化打下基础。 一直在想以什么样的方式来呈现这个知识点才能让我们易于理解,最终决定使用方法为:图解+源代码分析。 欢迎访问我的个人博客:senduo's blog 希望能在我们平时开发写代码的时候,能够知道当前写的这段代 ...
分类:
移动开发 时间:
2018-02-25 19:15:38
阅读次数:
233
一、线程的生命周期 线程是一个动态执行的过程,它也有一个从产生到死亡的过程。 下图显示了一个线程完整的生命周期 新建状态: 使用 new 关键字和 Thread 类或其子类建立一个线程对象后,该线程对象就处于新建状态。它保持这个状态直到程序start() 这个线程。 就绪状态: 当线程对象调用了st ...
分类:
编程语言 时间:
2018-02-24 17:59:45
阅读次数:
209
1.什么是线程局部变量?(答案) 线程局部变量是局限于线程内部的变量,属于线程自身所有,不在多个线程间共享。Java 提供 ThreadLocal 类来支持线程局部变量,是一种实现线程安全的方式。但是在管理环境下(如 web 服务器)使用线程局部变量的时候要特别小心,在这种情况下,工作线程的生命周期 ...
分类:
编程语言 时间:
2018-02-23 20:38:55
阅读次数:
155
总纲: Thread; Thread安全; 线程安全的集合类; 多线程之间交互:线程阀; 线程池; Fork/Join; 第2章:认识Thread: 线程实现的三种方法; Thread里面的属性和方法; 线程的中断机制; 线程的生命周期; 守护线程; 线程组; 当前线程的副本:ThreadLocal ...
分类:
编程语言 时间:
2018-02-22 13:40:14
阅读次数:
264
多线程有什么用? 线程和进程的区别是什么? Java实现线程有哪几种方式? 启动线程方法start()和run()有什么区别? 怎么终止一个线程?如何优雅地终止线程? 一个线程的生命周期有哪几种状态?它们之间如何流转的? 线程中的wait()和sleep()方法有什么区别? 多线程同步有哪几种方法? ...
分类:
编程语言 时间:
2018-02-03 20:55:21
阅读次数:
409
线程状态: 与人有生老病死一样,线程也同样要经历新建、就绪、运行(活动)、阻塞和死亡五种不同的状态。这五种状态都可以通过Thread类中的方法进行控制。 创建并运行线程: ① 新建状态(New Thread):在Java语言中使用new 操作符创建一个线程后,该线程仅仅是一个空对象,它具备类线程的一 ...
分类:
编程语言 时间:
2018-01-30 19:41:49
阅读次数:
185
阻塞状态(Blocked) 线程运行过程中,可能由于各种原因进入阻塞状态: 1>线程通过调用sleep方法进入睡眠状态; 2>线程调用一个在I/O上被阻塞的操作,即该操作在输入输出操作完成之前不会返回到它的调用者; 3>线程试图得到一个锁,而该锁正被其他线程持有; 4>线程在等待某个触发条件; .. ...
分类:
编程语言 时间:
2018-01-23 20:32:59
阅读次数:
153
进程:一个应用程序在处理机上的一次执行过程,它是一个动态的概念,包含一个或多个线程。 线程:是进程的一个实体,是CPU调度和分派的基本单位。 一个线程的生命周期: 新建状态(start()) 就绪状态(start()) 运行状态(run()) 阻塞状态() 死亡状态(stop()或destory() ...
分类:
编程语言 时间:
2018-01-13 23:44:01
阅读次数:
216