Java基础知识学习(六)
2015-10-16 14:53
316 查看
多线程
先了解线程的概念
多线程需要注意的地方
优先级、线程同步、消息传递、数据共享、死锁等
Java线程类 Thread,实现接口 Runnable
Thread常用方法
一个线程的例子,当Java程序启动时,一个线程立刻运行,该线程通常叫做程序的主线程,它是产生其他子线程的线程;通常它必须最后完成执行,因为它执行各种关闭动作。
创建线程
实例化一个Thread对象来创建一个线程。Java定义了两种方式:
实现Runnable 接口;
可以继承Thread类。
创建线程的最简单的方法就是创建一个实现Runnable 接口的类,实现run()方法
创建线程的另一个途径是创建一个新类来扩展Thread类,然后创建该类的实例。
创建多线程
使用多线程要理解 join()方法,主线程会等待子线程结束在继续执行
つづけ
先了解线程的概念
多线程需要注意的地方
优先级、线程同步、消息传递、数据共享、死锁等
Java线程类 Thread,实现接口 Runnable
Thread常用方法
getName | 获得线程名称 |
getPriority | 获得线程优先级 |
jsAlive | 判定线程是否仍在运行 |
join | 等待一个线程终止 |
run | 线程的入口点. |
sleep | 在一段时间内挂起线程 |
start | 通过调用运行方法来启动线程 |
public static void main(String[] args) { Thread t = Thread.currentThread(); System.out.println("Current thread: " + t); t.setName("My Thread"); System.out.println("After name change: " + t); try { for (int n = 5; n > 0; n--) { System.out.println(n); Thread.sleep(1000); } } catch (InterruptedException e) { System.out.println("Main thread interrupted"); } }
创建线程
实例化一个Thread对象来创建一个线程。Java定义了两种方式:
实现Runnable 接口;
可以继承Thread类。
创建线程的最简单的方法就是创建一个实现Runnable 接口的类,实现run()方法
class NewThread implements Runnable { Thread t; NewThread() { t = new Thread(this, "Demo New Thread"); t.start(); } public void run() {for (int i = 5; i > 0; i--) { System.out.println("Child Thread: " + i); Thread.sleep(500); } } }
创建线程的另一个途径是创建一个新类来扩展Thread类,然后创建该类的实例。
class NewThread extends Thread { NewThread() { super("Demo Thread"); start(); } public void run() { for(int i = 5; i > 0; i--) { System.out.println("Child Thread: " + i); Thread.sleep(500); } } }
创建多线程
public static void main(String[] args) { new NewThread(); new NewThread(); new NewThread(); System.out.println("Main thread exiting."); }
使用多线程要理解 join()方法,主线程会等待子线程结束在继续执行
つづけ
相关文章推荐
- Java设计模式---工厂方法模式(Factory-Method)
- spring的jar包说明
- 为新手准备的30个JAVA程序问题和好的练习
- Java IDE Myeclipse 2015 CI 15发布【附下载】
- spring事务详解2
- 《深入理解java虚拟机》学习笔记一
- java反射方法解析JSON
- ubuntu java开发环境初学搭建
- javac -encoding utf8 HelloWorld.java ,错误:非法字符:\65279
- Java was started but returned exit code=13
- java拆装箱(转)
- Java基础知识学习(五)
- log4j 使用和配置
- spring mvc 的Controller类是单例?
- Java从入门到精通15-方向键控制小球实例
- 当复仇者联盟遇上Dagger2、RxJava和Retrofit的巧妙结合
- .NET和JAVA中BYTE的区别以及JAVA中“DES/CBC/PKCS5PADDING” 加密解密在.NET中的实现
- Spring Security(16)——基于表达式的权限控制
- JAVA导出EXCEL并下载
- Spring Security(15)——权限鉴定结构