java并发编程基础

java并发编程

1、什么叫线程?

一个程序执行多个任务,通常每一个任务成为一个线程。可以同时运行一个以上线程的程序称为多线程程序。

线程与进程的区别:

本质区别在于进程拥有自己的一整套变量,而线程则共享数据。

与进程相比,线程更加轻量级,创建和销毁一个线程的开销比进程小很多。

线程可能会不安全。

实际应用举例:一个web服务可能要并发处理多个请求。一个浏览器可以同时下载多个几幅图片。

javase 1.5后多线程发生了重大变化,增加很多接口和类。

2、线程的创建方法:

1、实现Runnable接口。

2、继承Thread类。

注意:不要调用Thread类或Runnable接口的run方法。因为直接调用run方法,只会执行同一个线程中的任务,而不会启动线程。应该调用Thread.start方法。这个方法将创建一个执行run方法的新线程。

3、中断线程

常用方法:

//向线程发送中断请求,将线程中断状态标记为true。如果目前该线程被一个sleep调用阻塞,将抛出InterruptedException 异常。

void interrupt(){}

//静态方法,判断当前线程是否被中断,会将线程的中断状态标记为false

static boolean interrupted(){}

//实例方法,判断当前线程是否被中断

boolean isInterrupted(){}

//静态方法,返回代表当前执行线程的Thread对象

static ThreadcurrentThread(){}

中断线程的作用是为了实现多线程,在该线程中断其他线程获得运行机会。

4、线程的几种状态

创建new,可运行Runnable,被阻塞Blocked,等待waiting,计时终止Timed waiting,被终止Terminated

被阻塞和等待线程。

什么时候有可能变成阻塞状态?

当一个线程试图获取一个内部的对象锁,而该锁被其他线程所拥有,则该线程进入阻塞状态。

当线程等待另一个线程通知调度器一个条件时,它自己进入阻塞状态。

有几个方法有一个参数超时,调用他们导致线程进入计时等待。

线程的终止:

run方法正常执行退出而死亡。

因为一个没有捕获的异常终止了run方法而意外死亡。

线程属性:线程优先级,守护线程,线程组

什么叫守护线程?

守护线程

setDaemon(Boolean f)守护线程的唯一作用就是为其他线程提供服务的。

线程组是一个可以统一管理的线程的集合。默认的情况下创建的所有的线程属于相同的线程组。

对象锁

同步的作用保证数据正确性和一致性。两个线程或两个以上线程要共享对同一数据的存取。java语言提供了Synchronized关键字,并在1.5后引入了ReentrantLock。在执行一段代码前,会给它加上对象锁。别的同步线程如果要运行,必须得等当前线程运行完,才能顺利运行。

同步方法和同步代码块的区别:

同步方法是粗粒度的:

即有synchronized关键字修饰的方法。 

由于java的每个对象都有一个内置锁,当用此关键字修饰方法时, 

内置锁会保护整个方法。在调用该方法前,需要获得内置锁,否则就处于阻塞状态。

同步代码块是细粒度的:

即Synchronized关键字修饰的代码块。

被该关键字修饰的语句块会自动被加上内置锁,从而实现同步。

条件对象

条件对象个人的理解是为了实现某些特定条件下同步,而做出的努力。通过别的线程的一些状态变化,来满足本线程的条件,从而继续运行本线程。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,163评论 6 498
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,301评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,089评论 0 352
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,093评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,110评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,079评论 1 295
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,005评论 3 417
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,840评论 0 273
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,278评论 1 310
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,497评论 2 332
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,667评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,394评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,980评论 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,628评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,796评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,649评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,548评论 2 352

推荐阅读更多精彩内容

  • 本文是我自己在秋招复习时的读书笔记,整理的知识点,也是为了防止忘记,尊重劳动成果,转载注明出处哦!如果你也喜欢,那...
    波波波先森阅读 11,253评论 4 56
  • 进程和线程 进程 所有运行中的任务通常对应一个进程,当一个程序进入内存运行时,即变成一个进程.进程是处于运行过程中...
    胜浩_ae28阅读 5,102评论 0 23
  • 一、wait--notify--sleep Object obj = new Object(); obj.wait...
    fe0180bd6eaf阅读 335评论 0 1
  • 品鸡蛋之美味 妈妈的菜篮子里,鸡蛋是必须的。 鸡蛋,既可以做主菜也可以做配菜。摘来西红柿,是做汤还是炒呢...
    纸蛾子阅读 362评论 0 3
  • 过年回家,无意间碰上了十年没有见面的初中同学利娜。虽然跟利娜同一个村,但结婚后各自为了自己的家庭打拼,见面的时间很...
    爱璐琛阅读 1,086评论 2 1