总要有人来改变世界的,为什么不能是你呢
摘要: 在上篇我们看到,A线程往公共资源库(对象)提供了一条数据,然后B线程从库中提取了数据并打印出来。 实际项目中,我们不可能只往库中提供一条数据,而且库的大小也不会是无穷大的,那么我们就会有这样一 个需求:A线程提供了一定的数据量后就暂停,等待B线程全部取走之后(因为B再不来取的话,库就装不下 了),A 阅读全文
posted @ 2017-11-02 15:01 桔子桑 阅读(305) 评论(0) 推荐(0)
摘要: 前面提到多线程操作会有一个资源共享问题。 日常生活中,对于一个超市,有供货商往超市运货,有消费者从超市取货,供货商和消费者都与超市 建立了某种连接,超市就相当于公共资源,而他们的这种行为放到线程上说就是 线程通信。 建立线程通信自然少不了公共资源类、至少两个操作线程、测试类。 1.公共资源类 因为供 阅读全文
posted @ 2017-11-02 03:50 桔子桑 阅读(235) 评论(0) 推荐(0)
摘要: 本篇由于涉及多线程操作,所以线程是使用实现Runnable接口来创建的。 在上篇所示线程任务中,我们不难发现,是存在三步操作的: 第一:打印语句; 第二:计算sum=sum-1; 第三:线程休眠。 那么,在多线程操作中,可能会出现,第一个线程准备打印,还没有进行sum=sum-1计算时,第二个线程也 阅读全文
posted @ 2017-11-02 03:47 桔子桑 阅读(214) 评论(0) 推荐(0)
摘要: 1.extends Thread方法 控制台输出(截取部分) 上面红字标出的getName(),实际上等价于this.getName(),返回当前线程的名称,在这里就是“x”。 Thread.sleep(100);线程休眠100ms,所以控制台会逐条打印语句。 2.implements Runnab 阅读全文
posted @ 2017-11-02 02:43 桔子桑 阅读(445) 评论(0) 推荐(0)