
多线程学习
hammer_killer
这个作者很懒,什么都没留下…
展开
-
【多线程学习03】生产者消费者
生产者消费者问题(英语:Producer-consumer problem),也称有限缓冲问题(英语:Bounded-buffer problem),是一个多线程同步问题的经典案例。该问题描述了两个共享固定大小缓冲区的线程——即所谓的“生产者”和“消费者”——在实际运行时会发生的问题。生产者的主要作用是生成一定量的数据放到缓冲区中,然后重复此过程。与此同时,消费者也在缓冲区消耗这些数据。该问题的关键就是要保证生产者不会在缓冲区满时加入数据,消费者也不会在缓冲区中空时消耗数据。...原创 2022-02-04 14:37:03 · 123 阅读 · 0 评论 -
【多线程学习02】线程同步
线程同步问题:共享内存区域被多个线程访问,至少有一个线程是写操作协调多个线程的并发执行的过程称为同步(Synchronization)协调多个线程对共享内存区域的访问确保按照某种正确顺序访问共享内存区域基本方法:使用synchronized关键字线程互斥:synchronized修饰类的方法或者代码块,保证同一时刻最多只有一个线程能够执行这个类的对象被synchronized修饰的方法或者代码块。三个线程同时买票问题:package t...原创 2022-02-02 14:19:55 · 351 阅读 · 0 评论 -
【多线程学习01】继承Thread类和实现Runnable接口
简单概念:编好的程序运行时是一个进程,一个进程运行时可有包含多个线程(单核CPU宏观上并行,微观上串行)。 调用start()方法实现多线程(继承Thread类)package thread;//创建线程方式一:继承Thread类,重写run()方法,调用start()开启线程。//线程开启后不一定立即执行,由CPU调度执行public class TestThread01 extends Thread { @Override public void run...原创 2022-02-01 14:19:23 · 527 阅读 · 0 评论