进程:资源分配的基本单位,是线程的容器 程序是固定不变的,而进程会根据运行需要,让操作系统动态分配各种资源 一个进程中包括多个线程 进程的状态:新建(刚打开),就绪(CPU下一个时间片运行另外的程序),运行 等待 ( 堵塞:本身的sleep) 死亡 就绪:运行的条件已经满足,正在等待CPU运行 ...
分类:
编程语言 时间:
2020-03-18 10:03:17
阅读次数:
75
今天本人给大家讲解一下多线程的死锁,如有不对的或者讲的不好的可以多多提出,我会进行相应的更改,先提前感谢提出意见的各位了!!! 线程死锁 什么是线程的死锁? 产生死锁的原因? 因为资源的竞争:线程中都是进行抢占CPU的时间片的执行权,所以开启多线程可以一次性进行多个功能的使用,可是现在因为锁对象A和 ...
分类:
编程语言 时间:
2020-03-15 13:25:47
阅读次数:
64
线程常见函数 来源类 是否 Static 说明 是否释放锁 sleep() Thread static 只能操作当前线程。时间到后(没有interrupt的情况下),回到“就绪”状态 不 yield() Thread static 只能操作当前线程。只让出CPU时间片。不让出持有的锁和其他资源(磁盘 ...
分类:
编程语言 时间:
2020-03-14 20:29:38
阅读次数:
64
1:synchronized(同步的) 锁住代码块. 同步代码块 1 synchronized(对象){ // 对象锁. 一定要注意,这个对象是同一个对象.!!!!!! "abc" 2 //代码块 3 } 4 5 同一个时间片,只有一个线程来访问这个代码块. 2: synchronized 锁住方法 ...
分类:
编程语言 时间:
2020-03-12 21:49:14
阅读次数:
92
好程序员:大数据之线程高级部分,首先讲一下线程的生命周期对于一个线程,在被创建后,不是立即就进入到了运行状态,也不是一直处于运行状态,在线程的声明周期中,一个线程会在多种状态之间进行切换new:新生状态,线程被实例化,但是还没有开始执行(start)runnable:就绪状态,已经执行过start,线程已经启动了,只是没有抢到CPU时间片running:运行状态,抢到了CPU时间片blocked:
分类:
编程语言 时间:
2020-03-12 09:48:16
阅读次数:
48
0 前言 在过去单CPU时代,单任务在一个时间点只能执行单一程序。之后发展到多任务阶段,计算机能在同一时间点并行执行多任务或多进程。虽然并不是真正意义上的“同一时间点”,而是 多个任务或进程共享一个CPU,并交由操作系统来完成多任务间对CPU的运行切换,以使得每个任务都有机会获得一定的时间片运行。 ...
分类:
编程语言 时间:
2020-03-11 23:26:15
阅读次数:
108
好程序员:大数据之线程高级部分,首先讲一下线程的生命周期对于一个线程,在被创建后,不是立即就进入到了运行状态,也不是一直处于运行状态,在线程的声明周期中,一个线程会在多种状态之间进行切换new:新生状态,线程被实例化,但是还没有开始执行(start)runnable:就绪状态,已经执行过start,线程已经启动了,只是没有抢到CPU时间片running:运行状态,抢到了CPU时间片blocked:
分类:
编程语言 时间:
2020-03-11 17:03:55
阅读次数:
53
app出现ANR,是什么原因导致的? 1.主线程执行了耗时操作,比如数据库操作或网络编程 2.其他进程(就是其他程序)占用CPU导致本进程得不到CPU时间片, 比如其他进程的频繁读写操作可能会导致这个问题。 细分的话,导致ANR的原因有如下几点: 1.耗时的网络访问 2.大量的数据读写 3.数据库操 ...
分类:
移动开发 时间:
2020-03-10 17:31:23
阅读次数:
81
1、什么是进程和线程 1.1 进程是程序运行资源分配的最小单位 进程是操作系统进行资源分配的最小单位,其中资源包括:CPU、内存空间、磁盘IO等,同一进程中的多个线程共享该进程中的全部系统资源,而进程和进程之间是相互独立的。进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行 ...
分类:
编程语言 时间:
2020-03-07 20:53:25
阅读次数:
78
一.什么是TSS: TSS全称Task State Segment,中文名任务状态段,储存在内存中,大小104个字节,结构如下: 二.TSS原本的作用: TSS在任务(进程)切换时起着重要的作用,通过它保存CPU中各寄存器的值,实现任务的挂起和恢复。 比如说,当CPU执行A进程的时间片用完,要切换到 ...