
多线程
文章平均质量分 76
SY-
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
多线程
进程:正在进行中的程序。线程:就是进程中一个负责程序执行的控制单元(执行路径),一个进程中可以有多个执行路径,称为多线程。开启多个线程是为了同时运行多部分代码。每一个线程都有自己运行的内容,这个内容可以称为线程要执行的任务。注:一个进程中至少要有一个线程。多线程的好处:解决了多部分同时运行的问题。多线程的弊端:线程太多会导致效率的降低。原创 2016-05-07 10:06:35 · 998 阅读 · 1 评论 -
多生产者多消费者问题(Lock接口、Condition接口)
在多生产者多消费者问题中,我们通过while判断和notifyAll()全唤醒方法解决了问题,但是notifyAll()同时也带来了弊端,它要唤醒所有的被等待的线程,意味着既唤醒了对方,也唤醒了本方,在唤醒本方线程后还要不断判断标记,就降低了程序的效率。我们希望只唤醒对方的线程。在jdk进行升级后,就解决了类似的问题。Lock(接口)实现提供了比使用synchronized方法和语句可获得转载 2016-05-07 17:19:37 · 2036 阅读 · 0 评论 -
线程间通信--多生产者多消费者问题
先编写只有一个生产者一个消费者问题的代码://资源class Resource{ private String name; private int count=1; private boolean flag=false; //设置标志位值为false,表示没有被生产 public synchronized void set(String name) { if(flag)转载 2016-05-07 16:59:27 · 307 阅读 · 0 评论 -
线程间通信
线程间通信:多个线程在处理同一资源,但是任务却不同。下面编写一个输入输出实例://资源class Resource{ String name; String sex;}//输入class Input implements Runnable{ Resource r; Input(Resource r) { this.r=r; } public void run()转载 2016-05-07 16:00:05 · 221 阅读 · 0 评论 -
多线程--死锁
常见的发生死锁的情景是:同步的嵌套原创 2016-05-07 15:22:34 · 269 阅读 · 0 评论 -
java--同步函数
通过一个实例,在多线程情况下去分析安全隐患并解决。需求分析:有两个储户去银行存钱,每次存100,共存三次。class Bank{ private int sum; //银行共有多少钱 public void add(int num) { sum=sum+num; System.out.println("sum="+sum); }}class Customer im转载 2016-05-07 11:49:20 · 439 阅读 · 0 评论 -
java--同步的前提
在解决线程安全问题中时,我们运用了同步,但是在使用同步时要具备前提条件:同步中必须有多个线程并使用同一个锁(对象)。什么是使用同一个锁呢?我们在解决线程安全问题是,在Ticket类中这样书写的代码:class Ticket implements Runnable{ private int num=100; //共有100张票 Object obj=new Object();转载 2016-05-07 11:28:57 · 431 阅读 · 0 评论 -
多线程安全问题
在上一个卖票实例中,我们在Ticket类中定义了run()方法:public void run() { while(true) { if(num>0){ System.out.println(Thread.currentThread().getName()+"卖"+num-原创 2016-05-07 11:19:30 · 1102 阅读 · 0 评论 -
wait 和 sleep 的区别
wait 和 sleep 都是用于将线程处于冻结状态的方法。它们的区别是:转载 2016-03-26 10:43:30 · 279 阅读 · 0 评论 -
多线程--创建线程两种方式实例
通过一个案例来实现多线程,例如一个卖票系统,我们假设有四个窗口同时卖票,因此可以构造四个线程来实现:转载 2016-03-17 19:24:17 · 688 阅读 · 0 评论 -
停止线程的方式
当开启一个线程后我们怎么去停止它呢?停止线程的方法:1、stop方法(已过时)2.、run方法结束,当run方法中的任务代码执行完后,线程自动结束怎么控制线程的任务结束呢? 任务中都会有循环结构(让线程重复执行代码),只要控制住循环就可以结束任务,结束线程。控制循环通常就用定义标记来完成。下例:class StopThread implements Runnable{ p转载 2016-05-07 17:35:23 · 445 阅读 · 0 评论