多线程入门1

!改文章的图片来自java高并发程序设计这本书

并发和并行

  1. 并发: 主要是指多个任务交替执行。而且这个情况可能出现串行的
  2. 并行:一般是多个任务同时执行。
该图来自java高并发程序设计

死锁、饥饿、活锁的概念

  1. 死锁一般是指几个线程占用所有 的资源 不释放资源。那么其他线程就不能获得该资源。那么这种情况就会一直持续下去
死锁的产生
  1. 饥饿 是指某一个或者多个线程因为种种原因无法获得所需要的资源,导致一直无法执行下去。这其中还牵扯到优先级高的线程和优先级低的线程。在争夺资源的时候可能优先级低的线程一直抢不到资源导致处于饥饿的状态。但是饥饿相比死锁的那种情况还是好点,至少在未来的一段时间还能解决的。
  2. 活锁 就相当于大家都在谦让资源 主动把资源让给别人 。导致一个线程不能拿到所有的资源,不能正常执行下去。

并发级别

  1. 包含这几种情况,阻塞、无饥饿、无障碍、无锁、无等待。
阻塞
  1. 当线程处于阻塞的时候,该线程就相当于暂停状态。知道被分配资源后才可以继续执行。 当我们使用synchronized关键字的时候或者我们使用重入锁的时候会出现阻塞的情况。
无饥饿
  1. 线程之间是有优先级别的,线程调度 总是会先倾向于满足高优先级别的线程。这样是处于不公平的状态,如果线程调度一直给优先级别较高的线程,那么低级别的线程就会一直等不到资源就会处于饥饿状态。这属于不公平锁状态。饥饿状态还是有可能得到资源的 ,不会陷于死锁状态。
无障碍
  1. 无障碍是一种最弱的非阻塞调度,什么是最弱的呢。那就是大家不会因为临界问题导致一方线程处于挂起状态,如果遇到共享的数据出现问题,呢么就会自动的进行数据回滚,确保数据的安全。
  2. 我们上面所说数据进行回滚,如果出现所有线程都进行数据回滚,那么程序就进行不下去,我们在非阻塞调度上必须至少保证一个线程能够完成操作,解决办法 我们可以使用 创建一个标记来实现,如在操作前 读取这个标记,在操作完成后再读取该标记查看该标记是否被更改过。两次都是一致的那么资源没有冲突,如果不一致,与其他线程有冲突,就需要进行进行数据回滚。
无锁
  1. 无锁的并行都是无障碍的。 没有锁的情况下 所有线程都能尝试对临界区资源进行访问。无锁情况下并发保证必然有一个线程能够在有限步馁完成操作。
  2. 该操作的一个典型特点是 可能包含了一个无穷循环。循环中线程会不断的尝试修改共享变量,在没有冲突的情况下会修改成功,程序执行完毕,否则会继续尝试修改。这是一个碰运气的情况,总会有一个尝试成功。
无等待
  1. 无等待在无锁的基础上更进一步,要求所有的线程必须在有限的步内完成,这样就不会造成饥饿的状态。如果对步骤进行限制还可以分为 有界无等待,和线程数无关的无等待集中。区别就是 循环次数不同而已。
  2. 举例说明无等待的结构就是RCE ,读线程 不需要等待。写数据时先得到数据的副本 就是copy一下,然后修改完成后再在某个时候完成对元数据的修改
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,684评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,143评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,214评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,788评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,796评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,665评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,027评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,679评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,346评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,664评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,766评论 1 331
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,412评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,015评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,974评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,203评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,073评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,501评论 2 343

推荐阅读更多精彩内容