[seriesposts sid=500] 先看个yield让步的例子 package com.javaer.thread; public class YThread implements Runnable { private Object obj = new Object(); /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub YThread s = new YThread(); Thread t1 = new Thread(s, "Thread More
[seriesposts] 线程休眠的方法是Thread.sleep(long millis) 和Thread.sleep(long millis, int nanos) sleep()单位是毫秒 问题1.休眠的时候,哪个线程会休眠 答案:哪个线程调用了sleep,哪个就会休眠 问题2.主线程能休眠了 可以 Thread.sleep()经常被调用来进行程序的等待,比如你想让你的程序定时执行,可以写个代码 int a=2 while(a > 1){ r More
[seriesposts sid=500] 线程的同步和锁的问题,我们先来看个例子, 下面的例子我们希望两个线程对m变量进行削减 package com.javaer.thread; /** * 测试线程同步锁的问题 * @author yuexiaosheng * */ public class SysTest implements Runnable { int m = 10; public static void main(String[] args) { SysTest s1= new SysTest(); More
[seriesposts sid=500] 使用实现Runnalbe可以做出一个多线程,之前我们采用继承Thread的办法也做出一个。 public class TestMitiThread1 implements Runnable { public static void main(String[] args) { System.out.println(Thread.currentThread().getName() + " 线程运行开始!"); TestMitiThread1 test = new TestMitiThread1(); More
题目: 有n 个人围城一圈每次从1数起数到3就把那个人提出圈子,最后只保留一个人。 输入: 输入人数字符串 输出:把最后一个人所保留位置返回出来。 比如你输入11 的话即有11个人 [1,2,3,4,5,6,7,8,9,10,11] 。返回的是7. 如果输入"123a" 的话,返回的是"0"。 package com.javaer.huawei; import java.util.ArrayList; import java.util.List; import More
华为java上机题目 题目: 手动输入一个字符串,仅限小写字母,统计并输出每个字符在字符串中出现的次数,并输出。提示可以用map 例子:输入:aaabbbccc 输出:a 3 b 3 c 3 分析: 看到后面的提示,简直就是不用动脑,直接简单粗暴的顺势而上 直接上代码: package com.javaer.huawei; More
[seriesposts] 多线程都会遇到主线程控制的事情,一个宿主分发了多个任务出去,如何知道各自的完成情况。就需要子线程给宿主报告。 1、明确目的,为什么要使用多线程?如果是由于单线程读写或者网络访问(例如HTTP访问互联网)的瓶颈,可以考虑使用线程池。如果是对不同的资源(例如SOCKET连接)进行管理,可以考虑多个线程。 2、线程使用中要注意,如 More
[seriesposts title="2"] 要认识多线程就要从操作系统的原理说起。 以前古老的DOS操作系统(V 6.22)是单任务的,还没有线程的概念,系统在每次只能做一件事情。比如你在copy东西的时候不能rename文件名。为了提高系统的利用效率,采用批处理来批量执行任务。 现在的操作系统都是多任务操作系统,每个运行的任务就是操作系统所做的一件事情,比如你在听歌的同时 More
1.什么是多线程 简单的可以理解为多个线程同时执行多个任务,比如同时下载10个URL 的速度会比一个个下载快的多。 有兴趣深入研究原理可以学习下什么叫线程,进程 2.java多线程Thread方法小例子 extends Thread 的方式进行一次多线程实验 3.runable例子
java在2007年的时候编写过多线程爬虫,当时对多线程的理解仅仅限于可以同时并发任务,对于多线程之间的调度,完全没有理解。所以后来这的多线程的应用仅仅限于只能多线程并发任务。其实一切在线程中都可以被监控。 看下面的列子,我们来理解多线程之间如何进行控制的。 package com.javaer.thread; public class PrintABC { public static Bool More