美文网首页
串行和并发

串行和并发

作者: Juntech | 来源:发表于2019-09-26 10:43 被阅读0次

串行和并发

1、串行

多任务按照顺序依次执行 ,就好比一条单行道,里面有很多车,只要前车不前进,后面的车始终会被阻塞在那。

2、并发

多任务同时进行。 好比一条路有多条道,就可以同时通行多辆车。

3、进程和线程

线程安全: 单线程运行结果和多线程运行结果一致,安全,反之,则不安全

线程创建的方法: ①继承Thread ②实现Runnable 三实现callable接口

线程创建:Thread thread = new Thread(线程,”name");

线程开启: thread.start();

4、线程同步

  1. 同步代码块
  2. 同步方法
  3. 同步锁
  4. volatile
  5. ThreadLocal
  6. LinkedBlockingQueue
  7. 原子操作 Atomic

4.1同步代码块 synchronized

1、添加对象: private Object obj = new Object();

2、加锁(代码块) synchronized (obj) {代码块} 给对象加锁

4.2 同步方法

synchronized, 不写static,是使用锁对象

4.3 同步锁 Reenreantlock

lock() unlock()

加同步锁 释放同步锁

private Lock lock = new Reenreantlock(true);

true ------------>公平锁 ,多线程公平拥有执行权

false------------>非公平,独占,默认锁

加锁方法: lock.lock()

释放锁: lock.ublock()

加try代码块在try代码块里加锁,最后在finnally里面释放锁

注意:lock调用后,要使用unlock释放锁,不然会发生死锁

5 小结

①线程安全小结

1、synchronized : java关键字,jvm层面,无法获得锁的状态,会自动释放锁,多线程获锁需等待,可重入,不可中断,非公平锁,适用场景为代码少量的同步

2、lock: java类,可获取锁的状态,需要在finanlly中使用unlock释放锁,容易造成死锁,lock锁在锁占用时会结束,可重入,可判断,可公平,适用场景为大量同步的代码同步问题

②死锁

基本条件: 互斥 不可剥夺 忙等待 请求保持

死锁处理: 死锁预防 死锁检测 死锁避免 有序资源分配 : 同类资源一次申请完,不同类依次申请 ;银行家算法

更多详情

设置为vip可见的都可访问下面链接地址,即可观看原文
更多详情请访问: juntech

相关文章

  • GCD的队列(dispatch_queue_t)分哪两种类型?

    串行和并发

  • 串行和并发

    串行和并发 1、串行 多任务按照顺序依次执行 ,就好比一条单行道,里面有很多车,只要前车不前进,后面的车始终会被阻...

  • 关于GCD总结

    什么是GCD 理解串行、并发及同步异步 串行和并发 同步和异步 队列 串行队列 两者等效.2)使用主队列(在主队列...

  • 第九篇:Objective-C 知识回顾多线程

    9.1.同步/异步 和 串行/并发 问题一:同步/异步 和 串行/并发组合有哪些? dispatch_sync(s...

  • iOS 的串行队列和并发队列中的任务是如何执行的

    我们都知道队列有串行队列和并发队列,主队列就属于串行队列,串行队列里面的任务是按顺序执行,并发队列里的任务是并发执...

  • Java基础—并发包-底层原理

    并发编程挑战 并发和串行,并发不一定比串行快,在不超过百万次操作时,并发比串行慢,原因在于线程有创建,上下文切换的...

  • iOS多线程(一)

    1.常见术语 --- 同步、异步、并发、串行 1.1同步和异步主要影响:能不能开启新的线程 1.2并发和串行...

  • GCD队列使用

    使用GCD前,先对队列总结一下: 串行和并发 GCD中队列分为两种:串行队列、并发队列。串行队列:任务按在队列里的...

  • iOS开发-队列和同步异步执行的结果分析

    多线程中的队列有:串行队列,并发队列,全局队列(并发),主队列(串行)。 执行的方法有:同步执行和异步执行。 提到...

  • 多线程的运用

    同步串行队列 同步并发队列 异步串行队列 异步并发队列 队列组 栅栏 队列组和栅栏的组合 信号量 死锁主线程 分析...

网友评论

      本文标题:串行和并发

      本文链接:https://www.haomeiwen.com/subject/axxwyctx.html