2016年4月18日
摘要: 使用interrupt()中断线程 当一个线程运行时,另一个线程可以调用对应的Thread对象的interrupt()方法来中断它,该方法只是在目标线程中设置一个标志,表示它已经被中断,并立即返回。 结果 特别要注意的是标红的地方:如果只是单纯的调用interrupt()方法,线程并没有实际被中断, 阅读全文
posted @ 2016-04-18 21:47 韩思明 阅读(649) 评论(0) 推荐(0) 编辑
摘要: Java中实现多线程的方法有两种: 继承Thread类和实现Runnable方法,并重写Run方法,然后调用start()方法启动线程。使用Runnable会比Thread要好很多,主要是以下三个原因: (1)Java语言是单继承的,如果继承了Thread类,那么便无法继承其他类。 (2)适合多个相 阅读全文
posted @ 2016-04-18 15:59 韩思明 阅读(339) 评论(0) 推荐(0) 编辑
摘要: 问题 一只青蛙一次可以跳上 1 级台阶,也可以跳上2 级。求该青蛙跳上一个n 级的台阶总共有多少种跳法。 思路 当n=1时,只有一种跳法,及f(1)=1,当n=2时,有两种跳法,及f(2)=2,当n=3时,可以从n=1直接跳到n=3,也可以从n=2直接跳到n=3,及f(3)=f(1)+f(2)=3. 阅读全文
posted @ 2016-04-18 14:32 韩思明 阅读(1601) 评论(0) 推荐(0) 编辑
摘要: 问题 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。 思路 这道题最直观的解法并不难。从头到尾遍历数组一次,就能找出最小的 阅读全文
posted @ 2016-04-18 13:02 韩思明 阅读(568) 评论(0) 推荐(0) 编辑