JavaSE复习之十二 高级特性:并发 (多线程)


并发



一、概念
1. 线程和进程的概念
线程:进程中的一个执行流程,线程属于某个进程,进程中的多个线程共享进程的内存。
进程:内存中运行的应用程序,每个进程独享一片内存空间,一个进程可启动多个线程。

        一个java应用总是从main()方法开始运行,main()方法运行在一个线程内,被称为主线程。一旦创建一个新的线程,就产生一个
新的调用栈。线程分为两类:用户线程和守候线程。


2. 创建线程的途径
a. 继承Thread类;重写run()方法;
b. 实现Runnable接口,写run()方法;


3. 线程的暂时停止
        利用Thread类的sleep()方法可暂时停止线程的执行操作。若要唤醒被Thread.sleep()暂停的线程,则可利用interrupt()方法。


4. 线程的共享和互斥
        1) synchronized
        当某方法加上synchronized声明后,就可以让一个线程操作这个方法(同步方法的概念,即:每次只有一个线程可以执行该
方法)。而非synchronized就可同时供多个线程一起执行该方法。
        一旦一个线程执行synchronized方法就获得一把锁,可防止其他线程进入;当执行结束,锁被释放。其他的线程就可以抢夺锁。
最后,只有一个线程可以得到锁。其他没有得到锁的线程就要等待,得到锁的线程执行同步方法。

        2) synchronized阻挡:
        若只想启动方法里一部分的线程,而非整个方法。则可使用synchronized阻挡,代码:
[java]  view plain  copy
  1. synchronized (表达式){  
  2.     //  
  3. }  

5. 线程的不同状态
1) 新建状态(new):用new语句创建,仅是在堆区中分配了内存;
2) 就绪状态(Runnable):其start()方法被调用后,JVM为其创建方法栈,程序计数器;
3) 运行状态(Running):占用CPU,执行程序代码;
4) 阻塞状态(Blocked):线程暂时停止运行;
5) 死亡状态(Dead):线程退出Run()方法,进入死亡状态;


6. 线程的常用方法
[java]  view plain  copy
  1. notify()       // 唤醒单个线程;  
  2. notifyAll()    // 唤醒等待的所有线程;  
  3. wait()         // 线程等待的方法;  
  4. join()         // 等待该线程终止;  
  5. yield()        // 暂停当前正在执行的线程对象,并执行其他线程   


二、特性




三、应用




















修订:


参考:


注:
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值