
Java多线程
文章平均质量分 89
OnlyQi
我是一只蜗牛
展开
-
多线程 (四) 同步--非常重要
同步非常非常重要,我们在处理多线程问题时,基本上都要使用Synchronized关键字。因此必须重点理解。首先,多线程会出现问题的根本原因是数据共享。Threads communicate primarily by sharing access to fields and the objects reference fields refer to. This form of co...原创 2011-04-28 17:17:00 · 1950 阅读 · 0 评论 -
多线程(五)Guarded+Blocks--这真的是非常非常重要的知识点
今天来看一个对于多线程来说非常重要,实用的应用:在producer-consumer结构中使用的Guarded Blocks链接是:http://download.oracle.com/javase/tutorial/essential/concurrency/guardmeth.htmlproducer-consumer在进行多线程编程时使用的最多的结构是什么呢?那就是produce...原创 2011-07-03 08:09:24 · 1879 阅读 · 0 评论 -
多线程太可怕了
今天发现了一个多线程引起的bug。然后进一步体会到,这东西太容易出问题了!首先要说明的是,出问题的代码可不是一般人写的,是由一个叫EPAM systems的世界知名外包公司的人写的。这些java程序员个个经验丰富,心高气傲。貌似base在乌克兰,工资比起我们这些中国民工可原创 2011-08-11 14:55:13 · 2877 阅读 · 2 评论 -
多线程 (八) Fork/Join
http://download.oracle.com/javase/tutorial/essential/concurrency/forkjoin.htmlNew in the Java SE 7 release, the fork/join framework is an im原创 2011-07-10 19:01:08 · 1336 阅读 · 0 评论 -
多线程(一) 进程和线程的基本概念
http://download.oracle.com/javase/tutorial/essential/concurrency/runthread.html进程和线程的基本概念:A computer system normally has many active processes and threads. This is true even in systems that only h...原创 2011-04-26 17:36:00 · 822 阅读 · 0 评论 -
多线程(六)executor和线程池
常见的线程池是fixed thread pool,即线程池中可运行的最大线程数是固定的。它使用一个内部queue来排队,当线程池中运行的线程达到上限时,其他的任务需要等待。当一个线程执行的任务(runnable)结束时,线程继续执行下一个runnable,这种方式可节约大量创建thread所消耗的资源。继续使用上文中的例子说明如何使用executor和线程池: //这里注意...原创 2011-07-07 21:03:31 · 1350 阅读 · 0 评论 -
多线程(三)Join
Join使用join方法可以手工控制,让一个线程等待另一个线程运行完毕再继续。thread.join();如果一个线程中包含代码:t.join();//导致当前线程暂停,等待线程t执行完毕。很显然,join也会抛interruptedException。看完以上的内容,我们就可以看一个包含了上述概念的实际的多线程例子:http://download.oracle....原创 2011-06-26 17:32:00 · 1218 阅读 · 1 评论 -
多线程(二) Thread
如何实现thread一个要创建线程的程序必须提供将在线程中运行的代码。有两种实现方式:Provide a Runnable object. runnable是接口。实现runnable接口必须实现run方法,然后将这个runnable对象传递给thread的构造函数。注意一点,run方法必须既没有参数,也没有返回值。如果希望调用线程能有返回值的话,就需要实现callable接口(实现ca...原创 2011-04-28 16:40:00 · 925 阅读 · 0 评论 -
多线程(七)并发集合
在前面的例子中,使用了guarded block和同步方法,在多个线程存取同共享对象FileArray时,防止出现线程间干扰。(不熟悉guarded block和同步方法的同学,强烈建议先去看这个系列的前面几篇。) 实际上有更简便安全的方法,因为java提供了线程安全原创 2011-07-10 09:11:24 · 1129 阅读 · 0 评论 -
一种测试多线程的类:CountDownLatch
以下是java api中对该类的说明。CountDownLatch是一个帮助完成同步的类。它允许一或多个线程等待,直到其他线程里的一组操作完成为止。一个CountDownLatch初始化时可以指定一个count。这个类的await方法可以block当前线程,直到这个cou原创 2011-10-02 18:08:20 · 1552 阅读 · 0 评论