发布于 2014-10-24 04:53:32 | 516 次阅读 | 评论: 0 | 来源: 网友投递
这里有新鲜出炉的精品教程,程序狗速度看过来!
Sogou 搜狗
搜狗是搜狐公司的旗下子公司,于2004年8月3日推出,目的是增强搜狐网的搜索技能,主要经营搜狐公司的搜索业务。在搜索业务的同时,也推出搜狗高速浏览器、搜狗输入法、免费邮箱、企业邮箱等业务。
昨天上午笔试的,隔了一天才来写,好多忘了。。
选择题:
有给二叉树先序遍历、后续遍历,让求中序遍历的题。
问Math.round(-8.5)返回什么类型?
这题果然答错了,回来试了一下答案是long -8。
问答题:
给了一个用户注册消费的程序让分析有什么问题
程序还记得,有空敲上来。
将两个有序数组合并
这个就是归并的最后一步嘛。
用线程编程实现生产者消费者模式
首先贴上线程编程的方法
- <span style="color:#006600;">public class Drop {
- // Message sent from producer
- // to consumer.
- private String message;
- // True if consumer should wait
- // for producer to send message,
- // false if producer should wait for
- // consumer to retrieve message.
- private boolean empty = true;
-
- public synchronized String take() {
- // Wait until message is
- // available.
- while (empty) {
- try {
- wait();
- } catch (InterruptedException e) {}
- }
- // Toggle status.
- empty = true;
- // Notify producer that
- // status has changed.
- notifyAll();
- return message;
- }
-
- public synchronized void put(String message) {
- // Wait until message has
- // been retrieved.
- while (!empty) {
- try {
- wait();
- } catch (InterruptedException e) {}
- }
- // Toggle status.
- empty = false;
- // Store message.
- this.message = message;
- // Notify consumer that status
- // has changed.
- notifyAll();
- }
- }</span>
- <span style="color:#006600;">import java.util.Random;
-
- public class Producer implements Runnable {
- private Drop drop;
-
- public Producer(Drop drop) {
- this.drop = drop;
- }
-
- public void run() {
- String importantInfo[] = {
- "Mares eat oats",
- "Does eat oats",
- "Little lambs eat ivy",
- "A kid will eat ivy too"
- };
- Random random = new Random();
-
- for (int i = 0;
- i < importantInfo.length;
- i++) {
- drop.put(importantInfo[i]);
- try {
- Thread.sleep(random.nextInt(5000));
- } catch (InterruptedException e) {}
- }
- drop.put("DONE");
- }
- }</span>
- <span style="color:#006600;">import java.util.Random;
-
- public class Consumer implements Runnable {
- private Drop drop;
-
- public Consumer(Drop drop) {
- this.drop = drop;
- }
-
- public void run() {
- Random random = new Random();
- for (String message = drop.take();
- ! message.equals("DONE");
- message = drop.take()) {
- System.out.format("MESSAGE RECEIVED: %s%n", message);
- try {
- Thread.sleep(random.nextInt(5000));
- } catch (InterruptedException e) {}
- }
- }
- }</span>
- <span style="color:#006600;">public class ProducerConsumerExample {
- public static void main(String[] args) {
- Drop drop = new Drop();
- (new Thread(new Producer(drop))).start();
- (new Thread(new Consumer(drop))).start();
- }
- }</span>