- 浏览: 458951 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
ty1972873004:
sunwang810812 写道我运行了这个例子,怎么结果是这 ...
Java并发编程: 使用Semaphore限制资源并发访问的线程数 -
lgh1992314:
simpleDean 写道请问,Logger.setLevel ...
Java内置Logger详解 -
sunwang810812:
我运行了这个例子,怎么结果是这样的:2号车泊车6号车泊车5号车 ...
Java并发编程: 使用Semaphore限制资源并发访问的线程数 -
jp260715007:
nanjiwubing123 写道参考你的用法,用如下方式实现 ...
面试题--三个线程循环打印ABC10次的几种解决方法 -
cb_0312:
SurnameDictionary文章我没看完,现在懂了
中文排序
本文记录三道多线程编程题。
第一道:
有四个线程1、2、3、4。线程1的功能就是输出A,线程2的功能就是输出B,以此类推......... 现在有四个文件file1,file2,file3, file4。初始都为空。
现要让四个文件呈如下格式:
file1:A B C D A B....
file2:B C D A B C....
file3:C D A B C D....
file4:D A B C D A....
程序如下:
程序运行结果:
控制台输出--->
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
file1文件中的内容-->
ABCDABCDABCDABCD
file2文件中的内容:-->
BCDABCDABCDABCDA
file3文件中的内容:-->
CDABCDABCDABCDAB
file4文件中的内容:-->
DABCDABCDABCDABC
第二道:
一个线程打印 1~52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。
http://mouselearnjava.iteye.com/blog/1949693
第三道
有三个线程分别打印A、B、C,请用多线程编程实现,在屏幕上循环打印10次ABCABC…
http://mouselearnjava.iteye.com/blog/1949228
谢谢你的指正,确实跑题了。
程序已经修正。
一个运行结果如下:
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
是的。JDK 1.5 之后的J.U.C 包对多线程编程是个很不撮的选择,方便很多。
第一道:
有四个线程1、2、3、4。线程1的功能就是输出A,线程2的功能就是输出B,以此类推......... 现在有四个文件file1,file2,file3, file4。初始都为空。
现要让四个文件呈如下格式:
file1:A B C D A B....
file2:B C D A B C....
file3:C D A B C D....
file4:D A B C D A....
程序如下:
package my.test; import java.io.FileWriter; import java.io.IOException; public class FileWriteUtil { private int currentThreadNum = 1; /** 记录将字符写入文件的次数 */ private int count = 0; private int currentFileNum = 1; public void write(char value, int threadNum) { generateNextFileNum(); FileWriter writer = null; try { writer = new FileWriter("file" + currentFileNum + ".txt", true); writer.write(String.valueOf(value)); System.out.printf( "ThreadNum=%d is executing. %c is written into file file%d.txt \n", currentThreadNum, value, currentFileNum); writer.flush(); count++; currentThreadNum = threadNum; } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } if (null != writer) { try { writer.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } finally { writer = null; } } generateNextThreadNum(); } public int getCurrentThreadNum() { return currentThreadNum; } public void setCurrentThreadNum(int currentThreadNum) { this.currentThreadNum = currentThreadNum; } private void generateNextFileNum() { if (count % 4 == 0) { currentFileNum = 1; }else { currentFileNum++; } } private void generateNextThreadNum() { if (count % 4 == 0) { if (currentThreadNum < 3) { currentThreadNum += 2; } else { currentThreadNum = (currentThreadNum + 2) % 4; } }else { if(currentThreadNum == 4) { currentThreadNum=1; }else { currentThreadNum++; } } } }
package my.test; public class WriteRunnable implements Runnable { private FileWriteUtil util = null; private int threadNum = 1; private char value = ' '; /** * @param util */ public WriteRunnable(FileWriteUtil util, int threadNum, char value) { super(); this.util = util; this.threadNum = threadNum; this.value = value; } public void run() { /** * 假设循环16次, 一直循环可以使用while(true) 或者 for(;;) */ for (int i = 0; i < 16; i++) { synchronized (util) { while (threadNum != util.getCurrentThreadNum()) { try { util.wait(); } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } } util.write(value, threadNum); util.notifyAll(); } } } }
package my.test; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; /** * 有四个线程1、2、3、4。 * * 线程1的功能就是输出A,线程2的功能就是输出B, * * 以此类推......... 现在有四个文件file1, * file2,file3, file4。初始都为空。现要让四个文件呈如下格式: * file1:A B C D A B.... * file2:B C D A B C.... * file3:C D A B C D.... * file4:D A B C D A.... * * @author Eric * */ public class Main { public static void main(String[] args) { FileWriteUtil util = new FileWriteUtil(); ExecutorService service = Executors.newCachedThreadPool(); service.execute(new WriteRunnable(util, 1, 'A')); service.execute(new WriteRunnable(util, 2, 'B')); service.execute(new WriteRunnable(util, 3, 'C')); service.execute(new WriteRunnable(util, 4, 'D')); service.shutdown(); } }
程序运行结果:
控制台输出--->
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
file1文件中的内容-->
ABCDABCDABCDABCD
file2文件中的内容:-->
BCDABCDABCDABCDA
file3文件中的内容:-->
CDABCDABCDABCDAB
file4文件中的内容:-->
DABCDABCDABCDABC
第二道:
一个线程打印 1~52,另一个线程打印字母A-Z。打印顺序为12A34B56C……5152Z。
http://mouselearnjava.iteye.com/blog/1949693
第三道
有三个线程分别打印A、B、C,请用多线程编程实现,在屏幕上循环打印10次ABCABC…
http://mouselearnjava.iteye.com/blog/1949228
评论
4 楼
MouseLearnJava
2013-10-16
dujiayi001 写道
弱弱的问一句,我跑了你的代码,但是出来结果是:
pool-1-thread-1 : A.txt=>A
pool-1-thread-2 : B.txt=>B
pool-1-thread-3 : C.txt=>C
pool-1-thread-4 : D.txt=>D
pool-1-thread-1 : A.txt=>B
pool-1-thread-2 : B.txt=>C
pool-1-thread-3 : C.txt=>D
pool-1-thread-4 : D.txt=>A
pool-1-thread-1 : A.txt=>C
pool-1-thread-2 : B.txt=>D
pool-1-thread-3 : C.txt=>A
pool-1-thread-4 : D.txt=>B
跟题目问的好像不对劲,题目要求是线程1的功能就是输出A,线程2的功能就是输出B,而你的结果是线程1只输出A文件
pool-1-thread-1 : A.txt=>A
pool-1-thread-2 : B.txt=>B
pool-1-thread-3 : C.txt=>C
pool-1-thread-4 : D.txt=>D
pool-1-thread-1 : A.txt=>B
pool-1-thread-2 : B.txt=>C
pool-1-thread-3 : C.txt=>D
pool-1-thread-4 : D.txt=>A
pool-1-thread-1 : A.txt=>C
pool-1-thread-2 : B.txt=>D
pool-1-thread-3 : C.txt=>A
pool-1-thread-4 : D.txt=>B
跟题目问的好像不对劲,题目要求是线程1的功能就是输出A,线程2的功能就是输出B,而你的结果是线程1只输出A文件
谢谢你的指正,确实跑题了。
程序已经修正。
一个运行结果如下:
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
ThreadNum=1 is executing. A is written into file file1.txt
ThreadNum=2 is executing. B is written into file file2.txt
ThreadNum=3 is executing. C is written into file file3.txt
ThreadNum=4 is executing. D is written into file file4.txt
ThreadNum=2 is executing. B is written into file file1.txt
ThreadNum=3 is executing. C is written into file file2.txt
ThreadNum=4 is executing. D is written into file file3.txt
ThreadNum=1 is executing. A is written into file file4.txt
ThreadNum=3 is executing. C is written into file file1.txt
ThreadNum=4 is executing. D is written into file file2.txt
ThreadNum=1 is executing. A is written into file file3.txt
ThreadNum=2 is executing. B is written into file file4.txt
ThreadNum=4 is executing. D is written into file file1.txt
ThreadNum=1 is executing. A is written into file file2.txt
ThreadNum=2 is executing. B is written into file file3.txt
ThreadNum=3 is executing. C is written into file file4.txt
3 楼
dujiayi001
2013-10-15
弱弱的问一句,我跑了你的代码,但是出来结果是:
pool-1-thread-1 : A.txt=>A
pool-1-thread-2 : B.txt=>B
pool-1-thread-3 : C.txt=>C
pool-1-thread-4 : D.txt=>D
pool-1-thread-1 : A.txt=>B
pool-1-thread-2 : B.txt=>C
pool-1-thread-3 : C.txt=>D
pool-1-thread-4 : D.txt=>A
pool-1-thread-1 : A.txt=>C
pool-1-thread-2 : B.txt=>D
pool-1-thread-3 : C.txt=>A
pool-1-thread-4 : D.txt=>B
跟题目问的好像不对劲,题目要求是线程1的功能就是输出A,线程2的功能就是输出B,而你的结果是线程1只输出A文件
pool-1-thread-1 : A.txt=>A
pool-1-thread-2 : B.txt=>B
pool-1-thread-3 : C.txt=>C
pool-1-thread-4 : D.txt=>D
pool-1-thread-1 : A.txt=>B
pool-1-thread-2 : B.txt=>C
pool-1-thread-3 : C.txt=>D
pool-1-thread-4 : D.txt=>A
pool-1-thread-1 : A.txt=>C
pool-1-thread-2 : B.txt=>D
pool-1-thread-3 : C.txt=>A
pool-1-thread-4 : D.txt=>B
跟题目问的好像不对劲,题目要求是线程1的功能就是输出A,线程2的功能就是输出B,而你的结果是线程1只输出A文件
2 楼
MouseLearnJava
2013-10-14
cywhoyi 写道
挺好练习,第一题我采用的是
信号量+原子类的操作,感觉比LZ更为简洁,顶下面试而用
private static Semaphore A = new Semaphore(1); private static Semaphore B = new Semaphore(1); private static Semaphore C = new Semaphore(1); private static Semaphore D = new Semaphore(1); private static AtomicInteger value = new AtomicInteger(1);
信号量+原子类的操作,感觉比LZ更为简洁,顶下面试而用
是的。JDK 1.5 之后的J.U.C 包对多线程编程是个很不撮的选择,方便很多。
1 楼
cywhoyi
2013-10-14
挺好练习,第一题我采用的是
信号量+原子类的操作,感觉比LZ更为简洁,顶下面试而用
private static Semaphore A = new Semaphore(1); private static Semaphore B = new Semaphore(1); private static Semaphore C = new Semaphore(1); private static Semaphore D = new Semaphore(1); private static AtomicInteger value = new AtomicInteger(1);
信号量+原子类的操作,感觉比LZ更为简洁,顶下面试而用
发表评论
-
工厂类中移除if/else语句
2016-07-10 19:52 842面向对象语言的一个强大的特性是多态,它可以用来在代码中移除 ... -
Java编程练手100题
2014-12-11 17:13 6657本文给出100道Java编程练手的程序。 列表如下: 面 ... -
数组复制的三种方法
2014-11-30 12:57 2168本文将给出三种实现数组复制的方法 (以复制整数数组为例)。 ... -
数组复制的三种方法
2014-11-30 12:54 0本文将给出三种实现数组复制的方法 (以复制整数数组为例)。 ... -
四种复制文件的方法
2014-11-29 13:21 1673尽管Java提供了一个类ava.io.File用于文件的操 ... -
判断一个字符串中的字符是否都只出现一次
2014-11-25 12:58 2644本篇博文将给大家带来几个判断一个字符串中的字符是否都只出现一 ... -
使用正则表达式判断一个数是否为素数
2014-11-23 13:35 2088正则表达式能够用于判断一个数是否为素数,这个以前完全没有想过 ... -
几个可以用英文单词表达的正则表达式
2014-11-21 13:12 3681本文,我们将来看一下几个可以用英文单词表达的正则表达式。这些 ... -
(广度优先搜索)打印所有可能的括号组合
2014-11-20 11:58 1907问题:给定一个正整n,作为括号的对数,输出所有括号可能 ... -
随机产生由特殊字符,大小写字母以及数字组成的字符串,且每种字符都至少出现一次
2014-11-19 14:48 3929题目:随机产生字符串,字符串中的字符只能由特殊字符 (! ... -
找出1到n缺失的一个数
2014-11-18 12:57 3101题目:Problem description: You h ... -
EnumSet的几个例子
2014-11-14 16:24 8693EnumSet 是一个与枚举类型一起使用的专用 Set 实现 ... -
给定两个有序数组和一个指定的sum值,从两个数组中各找一个数使得这两个数的和与指定的sum值相差最小
2014-11-12 11:24 3277题目:给定两个有序数组和一个指定的sum值,从两个数组 ... -
Java面试编程题练手
2014-11-04 22:49 6643面试编程 写一个程序,去除有序数组中的重复数字 编 ... -
Collections用法整理
2014-10-22 20:55 9786Collections (java.util.Collect ... -
The Code Sample 代码实例 个人博客开通
2014-09-04 18:48 1360个人博客小站开通 http://thecodesample. ... -
Collections.emptyXXX方法
2014-06-08 13:37 2094从JDK 1.5开始, Collections集合工具类中预先 ... -
这代码怎么就打印出"hello world"了呢?
2014-06-08 00:37 7348for (long l = 4946144450195624L ... -
最短时间过桥
2014-04-21 22:03 4062本文用代码实现最短时间过桥,并且打印如下两个例子的最小过桥时间 ... -
将数组分割成差值最小的子集
2014-04-20 22:34 2826本文使用位掩码实现一个功能 ==》将数组分割成差值最小的子集 ...
相关推荐
多线程并发编程是Java编程中重要的一块内容,也是面试重点覆盖区域。所以,学好多线程并发编程对Java程序员来来说极其重要的。
以下给大家分享了100道多线程相关面试题,不打没有准备的战。加油! 文章目录1.什么是进程?2.什么是线程?3.线程的实现方式?4.Thread 类中的start() 和 run() 方法有什么区别?5.线程NEW状态6.线程RUNNABLE状态7.线程...
《货币银行学》300道题【含答案】.《货币银行学》300道题【含答案】.《货币银行学》300道题【含答案】.《货币银行学》300道题【含答案】.
施工高处作业安全技术规范方案(jgj80~2016年)考试题(卷)库单选50道多选20道判断30道.doc
本资源共分两个文件,题和答案;共有85道填空,114道单选,17个简单,8道编程和应用题,10道多选题;题和答案是分开的,以利于更好效果的练习。
Java 复习题目,包括40道单选题,40道多选题,10道程序解析题,10道程序填空题,2道编程题。
精心制作:其中包含九十道单选题、二十道多选题、九十道填空题、十道简答题。包含各种难点、易错点
可以实现单选题、多选题维护、填空题、判断题的在线维护和管理,添加生成试卷后可以自动从题库进行调用试题,考试完成后自动打分,后台可以进行统计。 考试科目 考试科目添加 考试科目维护 用户信息 用户添加 用户...
500道单选题+200道多选题
微软认证考试SQL 700-433题库 2011年11月更新 共600道多题
40道客观题(30道单选+10道多选),仅有题干,答案自行百度~
利用地震数据来描述地层岩性特性,...渭北平原某煤田的三维地震多参数数据体岩性转换实例表明,多参数岩性反演和基于阈值的岩性转换方法具有较好的适用性,其反演后的界面形态对应较好,单井岩性与转换后的岩性吻合度较高。
计算机程序设计员JAVA四级项目研讨会资料,包括38道单选题和19道多选题。
迅雷:www.xunlei.com 针对的是软件开发工程师 题型 10道判断题 15道单选题 10道多选题 1道填空题(补充某库函数程序) 题的部分内容参见:http://blog.csdn.net/yulin1416/archive/2010/03/06/5351443.aspx
西方经济学是电大经济类本科...第三部分:判断题(共10小题;每小题2分,满分20分) 此部分共有10小题(31题到40题)。 第四部分:名词解释填空(共5小题;每小题2分,满分10分) 此部分共有5小题(41题到45题)。
二级注册计量师考前模拟试题(计量法律法规及综合知识)(下) 超全模拟题 (424道单选,213道多选) 带答案
2、熟悉考试题型 (题型和分值是固定不变的:20道单选题共60分,10道多选题共20分,10道判断题共20分)做到心中有数,上场不乱; 3、洞悉题库(注:从2010年至今题库一直未变,现在看到的就是实际考试题库中的题目...
本次调查研究共设置21道题,人物画像设置6题(1-6题),两道多选题(7-8题),量表题13道(9-21题),其中量表题共设置四个维度。 在定量分析之前,通过描述性统计分析对人物画像进行分析。(这部分可以加入差异分析...
面试题:设计一份考试程序,包含四道单选题和四道多选题,单选题答对一道得1分,多选答对一道得1.5分
工程经理培训课程测试卷带答案,共4套习题,需要考试的小伙伴可以看看 ,考试包括50单选,10道多选,40道判断,考试60分及格