![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
多线程
文章平均质量分 73
树生
吃一片风土 恋一座孤城
展开
-
多线程六
线程池问题:在实际应用中不希望无休止的创建线程解决途径:不管有多少个任务都交给固定的线程数的线程来执行任务 可以让一个线程执行多个任务创建线程池: Executors类的 newFixedThreadPool(指定线程数) 方法原创 2016-10-18 15:45:56 · 239 阅读 · 0 评论 -
多线程五
(wait / notify)方法实现生产者-消费者模型 任何一个对象都拥有一个线程等待池 挂在同一个对象的线程池中的线程之间可以互相唤醒 所以wait / notify 方法是属于Object类的 wait方法的使用必须放在synchronized同步快中一、生产者类 / 消费者类 来实现 生产者原创 2016-10-18 15:42:26 · 222 阅读 · 0 评论 -
多线程四
利用yeild方法来实现 : 生产者-消费者模型(主动放弃cpu但又去但与竞争)cpu表示压力很大生产者类 class FlagSend implements Runnable{ int theValue; boolean flag; @Override public void run() { for (int i = 0; i < 5; i原创 2016-10-18 15:38:35 · 209 阅读 · 0 评论 -
多线程三
一、锁对象( ReentrantLock ) import java.util.concurrent.locks.Lock;import java.util.concurrent.locks.ReentrantLock;public class Test2 { public static void main(String[] args) { Output1 output = new原创 2016-10-18 15:34:14 · 264 阅读 · 0 评论 -
多线程二
线程的互斥操作(解决多线程共享数据问题)1. 同步块(保证某一段代码在某一时刻只能有一个线程访问) 锁(java中任何对象都是一把锁,有且只有一把钥匙) //同步函数,锁是thispublic synchronized void f(){ System.out.print("hello world");} 2. 同步函数原创 2016-10-18 15:26:21 · 253 阅读 · 0 评论 -
多线程一
一、创建线程方式 1、继承Thread类创建线程 a. 定义Thread类的子类,并重写该类的run方法 b. 创建Thread子类的实例 c. 调用start方法来启动线程 2、 通过Runnable接口创建线程 a. 定义runnable接口的实现类,并重写该接口的run方法原创 2016-10-18 15:24:15 · 866 阅读 · 0 评论 -
多线程七
利用Callable&Future创建线程问题: 之前遇到的的执行任务都是run方法实现的任务,而run方法是没有返回值的,我们并不知道线程什么时候执行结束。解决途径 : 如果线程执行结束之后能返回一个值,那么我们就知道线程已经之行结束了public static void main(String[] args原创 2016-10-18 15:49:53 · 214 阅读 · 0 评论