第二章 线程(中)

1年前 阅读 349 评论 0 赞 0

2.0 导学

课前思考:

  • 多线程是如何实现同步的?
  • 多线程是如何避免死锁问题的?
  • 线程的生命周期是如何的?
  • 多线程之间优先级如何控制?
    学习目标
  • 学习Java中多线程的同步控制方法
  • 掌握线程的生命周期
  • 清楚地理解多线程同步的锁机制和线程优先级

2.1 线程同步的思路

2.1.1多线程的同步控制

有时线程之间彼此不独立、需要同步
1、线程间的互斥
同时运行的几个线程需要共享一个(些)数据
共享的数据,在某一时刻只允许一个线程对其进行操作
2、“生产者/消费者”问题
假设有一个线程负责往数据区写数据,另一个线程从同一个数据区中读取数据,两个线程可以并行执行
如果有数据区已满,生产者要等消费者取走一些数据后才能再写
当数据区空时,消费者要等生产者写入一些数据后再取
用两个线程模拟存票、售票过程
1、假定开始售票处没有票,一个线程往里存票,另一个线程则往外出票
2、新建一个票类对象,让存票和售票线程都访问它。本例采用两个线程共享一个数据对象来实现对同一份数据的操作

你的支持将鼓励作者继续创作

评论(0)

(无)