线程:
线程也被称为轻量级进程,进程和线程都提供一个执行环境,但创建一个新的线程比创建一个新的进程资源要少得多
线程存在进程里,也就是说一个进程至少包括一个线程
线程共享进程的资源,包括内存和打开的文件,所以这使得通信可能会有问题
多线程执行是java平台的一个基本特征
每个应用程序至少有一个线程,但是必需有一个主线程,这个主线程是用来创建额外的线程
这是一个例子:
testThread类:
package com.d7.util; public class testThread{ public static void main(String[] args) { //创建线程有两种方法 //1.实现Runnable接口 //2.继承Thread类 Thread thread=new Thread(new myWork()); //启动一个线程 thread.start(); Thread thread2=new Thread(new myWork()); thread2.start(); Thread thread1=new forClass(); thread1.start(); //终止一个进程会触发InterruptedException异常,所以在catch里添加return即可终止 thread1.interrupt(); } }
myWork类:
package com.d7.util; //实现Runnable接口 public class myWork implements Runnable { @Override public void run() { // TODO Auto-generated method stub System.out.println("我是一个线程"); } }
forClass类:
package com.d7.util; //继承Thread类 public class forClass extends Thread{ @Override public void run() { String [] arrstr= { "Hello", "2017", "bye", }; for(int i=0;i<arrstr.length;i++) { System.out.println(arrstr[i]); //这是判断这个静态值是否为真,为真就说明外部终止了这个线程,里面写return就终止了这个线程 //下面还有一种方法如果要用二选一 /*if(this.isInterrupted()) { System.out.println("if终止"); return; }*/ try { Thread.sleep(4000); } catch (InterruptedException e) { //只要外部终止了就会触发这个异常,所以加return就不会往下执行 System.out.println("终止"); return; } } } }