0%

当多个线程访问一个对象时,如果不用考虑这些线程在运行时环境下的调度和交替执行,也不需要进行额外的同步,或者在调用方进行任何其他的协调操作,调用这个对象的行为都可以获得正确的结果,那这个对象是线程安全的。

阅读全文 »

归并排序是建立在归并操作上的一种有效的排序算法,该算法是采用分治法的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列。

阅读全文 »

选择排序是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放到已排序的序列的末尾。以此类推,直到全部待排序的数据元素的个数为零。

阅读全文 »

冒泡排序是一种较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序错误就把他们交换过来。走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成。

阅读全文 »

要使任务和线程能安全、快速、可靠地停止下来,并不是一件容易的事。Java没有提供任何机制来安全地终止线程。但它提供了中断( Interruption),这是一种协作机制,能够使一个线程终止另一个线程的当前工作。

阅读全文 »

我们都知道Java多线程的实质是调用Thread类的run()方法,每次我们开启新线程都得调用start()方法,那我们能不能直接调用run()方法进行启动线程呢?

阅读全文 »

Java多线程的实现方式到底有几种?网上和书籍中的说法鱼龙混杂,其实多线程的实现方式只有两种,分别是继承Thread类与实现Runnable接口。oracle官方文档中Thread类也明确了实现多线程的方式只有两种。

阅读全文 »