摘要: 生产者/消费者问题是个典型的多线程问题,类似于hello world对于一门编程语言而言,涉及的对象包括“生产者”、“消费者”、“仓库”和“产品”。该模型需要注意以下几点:1、生产者只有在仓库未满的时候生产,仓满则停止生产。2、消费者只有在仓库有产品的情况下才能消费,... 阅读全文
posted @ 2018-05-07 16:36 惶者 阅读(141) 评论(0) 推荐(0) 编辑
摘要: 等待&唤醒关于Object类提供的wait、notify、notifyAll三个方法:wait():让当前线程处于等待(阻塞)状态,直到其他线程调用该同步监视器的notify(),notifyAll()方法来唤醒该线程,进入就绪状态。wait()会释放对当前线程的同步... 阅读全文
posted @ 2018-05-07 16:36 惶者 阅读(740) 评论(0) 推荐(0) 编辑
摘要: 线程同步线程的同步是为了防止多个线程访问同一个数据对象时,对数据造成破坏。同步的方法就是使用synchronized关键字。每个对象有且仅有一个同步锁,意味着同步锁依赖于对象而存在。每个对象都有一个内置锁,当程序运行到非静态的synchronized同步方法时,自动获... 阅读全文
posted @ 2018-05-07 16:35 惶者 阅读(182) 评论(0) 推荐(0) 编辑
摘要: join、sleep、yield都是Thread类的方法join线程join()方法:让“主线程”线程等待“子线程”运行完之后再运行。//子线程public class son extends Thread(){ void run(){ .... 阅读全文
posted @ 2018-05-07 16:35 惶者 阅读(213) 评论(0) 推荐(0) 编辑
摘要: 操作系统中的进程和线程的概念 进程是指一个内存运行的应用程序,每个进程都有自己独立的一块内存空间,一个进程中可以启动多个线程,比如windows下的一个运行的应用程序.exe就是一个进程。 线程是指进程中的一个执行流,一个进程可以运行多个线程。... 阅读全文
posted @ 2018-05-07 16:35 惶者 阅读(693) 评论(0) 推荐(0) 编辑