随笔分类 -  java线程技术

摘要:最近在android开发中,用到都是new Thread(){...}.start()这种方式。本来这样是可以,但是最近突然爆出Performing stop of activity that is not resumed 错误,google了一下发现是线程多次创建的问题; 多次使用上面的方式,会创 阅读全文
posted @ 2017-06-02 16:52 Sharley 阅读(6870) 评论(0) 推荐(0) 编辑
摘要:线程技术可以让我们的程序同时做多件事情,线程的工作模式有很多,常见的一种模式就是处理网站的并发,今天我来说说线程另一种很常见的模式,这个模式和前端里的ajax类似:浏览器一个主线程执行javascript,页面渲染等操作,当我们使用ajax向服务端发起请求,由于这个过程很慢,ajax的异步模式可以让 阅读全文
posted @ 2016-08-03 17:31 Sharley 阅读(302) 评论(0) 推荐(0) 编辑
摘要:一、概述 ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量)。也许把它命名为ThreadLocalVar更加合适。线程局部变量(ThreadLocal)其实的功用非常简单,就是为 阅读全文
posted @ 2016-04-04 23:45 Sharley 阅读(505) 评论(0) 推荐(0) 编辑
摘要:一、进程和线程的基础知识 1、进程和线程的概念 进程:运行中的应用程序称为进程,拥有系统资源(cpu、内存) 线程:进程中的一段代码,一个进程中可以有多段代码。本身不拥有资源(共享所在进程的资源) 在java中,程序入口被自动创建为主线程,在主线程中可以创建多个子线程。 区别: 1、是否占有资源问题 阅读全文
posted @ 2016-04-04 23:42 Sharley 阅读(254) 评论(0) 推荐(0) 编辑
摘要:一、线程的生命周期 线程状态转换图: 1、新建状态 用new关键字和Thread类或其子类建立一个线程对象后,该线程对象就处于新生状态。处于新生状态的线程有自己的内存空间,通过调用start方法进入就绪状态(runnable)。 注意:不能对已经启动的线程再次调用start()方法,否则会出现jav 阅读全文
posted @ 2016-04-04 23:30 Sharley 阅读(614) 评论(0) 推荐(0) 编辑
摘要:在之前,已经学习到了线程的创建和状态控制,但是每个线程之间几乎都没有什么太大的联系。可是有的时候,可能存在多个线程多同一个数据进行操作,这样,可能就会引用各种奇怪的问题。现在就来学习多线程对数据访问的控制吧。 由于同一进程的多个线程共享同一片存储空间,在带来方便的同时,也带来了访问冲突这个严重的问题 阅读全文
posted @ 2016-04-04 23:23 Sharley 阅读(301) 评论(0) 推荐(0) 编辑
摘要:系统启动一个新线程的成本是比较高的,因为它涉及到与操作系统的交互。在这种情况下,使用线程池可以很好的提供性能,尤其是当程序中需要创建大量生存期很短暂的线程时,更应该考虑使用线程池。 与数据库连接池类似的是,线程池在系统启动时即创建大量空闲的线程,程序将一个Runnable对象传给线程池,线程池就会启 阅读全文
posted @ 2016-04-04 23:10 Sharley 阅读(251) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示