![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java多线程
soputasmile11
自信、美丽、优秀!
展开
-
java中的流
参考:http://www.cnblogs.com/pepcod/archive/2013/01/20/2913435.html1、流的概念 流(stream)的概念源于UNIX中管道(pipe)的概念。在UNIX中,管道是一条不间断的字节流,用来实现程序或进程间的通信,或读写外围设备、外部文件等。 一个流,必有源端和目的端,它们可以是计算机内存的某些区域,也可以是磁盘文件,甚至原创 2016-07-22 09:01:20 · 215 阅读 · 0 评论 -
android AsyncTask
参考:http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html http://blog.csdn.net/liuhe688/article/details/65325191、Android中实现异步任务机制的两种方式:Handler和AsyncTask,Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Han原创 2016-07-21 16:55:57 · 276 阅读 · 0 评论 -
java并发编程之Synchronized
java提供了一种内置的锁机制来支持原子性:同步代码块(Synchronized Block),同步代码块包括两部分:一是锁本身,二是被锁保护的代码块使用synchronized关键字实现同步代码块具体用法有三种:(1)synchronized(obj) 注意obj是引用类型,不能是基本类型,这时候obj就是锁(2)synchronized修饰方法或者synchronized(this),...原创 2018-10-10 09:40:43 · 159 阅读 · 0 评论 -
可重入锁和不可重入锁
重入锁如果某个线程试图获取一个已经由他自己持有的锁,这个请求可以成功,那么此时的锁就是可重入锁,重入锁的这种机制也说明了它是以”线程“为粒度获取锁,而不是以”调用“为粒度。重入常见的一个实现方法是,为每个锁关联一个持有者和持有计数值,当计数值为0时,这个锁会被认为没有被任何线程持有,当现场请求一个未被持有的锁时,jvm会把这个锁给这个线程,并几下这个锁的持有者,同时计数值置为1,如果同一个线程再...原创 2018-10-10 15:56:57 · 3617 阅读 · 1 评论 -
认识Cpu、核和线程及其他相关概念
1、cpu、核和线程的关系cpu个数: 是指物理上,也就是硬件上的核心数核: 逻辑上的、模拟出来的核心数线程数:同一时刻设备并行执行的程序个数,线程数=cpu个数 * 核数2、单核cpu和多核cpu单核也就是说一个物理上的cpu可以模拟出来的核心数是1个,多核自然就是多个,注意的是单核或者多核和cpu个数没有关系,存在多个cpu单核型,也存在一个cpu多核型。多核cpu减小了体积,同时也...原创 2018-10-28 17:55:07 · 4676 阅读 · 0 评论 -
Java中守护线程和用户线程
1、区别Java中有两类线程:用户线程和守护线程守护线程一般用于在程序运行的时候提供一种通用服务,在主线程要结束前,如果发现程序中只剩下守护线程,那么jvm不会管守护线程的死活,直接结束整个程序应用。守护线程比较典型的用例是java中的垃圾回收线程。我们新建一个线程的时候,默认新建的是用户线程,当主线程结束之前,如果发现线程中还有用户线程,那么主线程(或者说程序)不会立即停止,而是等待用户线...原创 2018-12-18 11:59:23 · 1280 阅读 · 0 评论