标签:处理 sum resume cep res 线程 技术 thread one
参考书籍:Java多线程编程核心技术(高洪岩)
一、java多线程技能
1.线程的启动
1 class A extends Thread { 2 public void run(){ 3 //... 4 } 5 } 6 public class Demo { 7 public static void main(String[] args) { 8 A a = new A(); 9 a.start(); 10 } 11 }
1 class A implements Runnable{ 2 public void run() { 3 //... 4 } 5 } 6 public class Demo { 7 public static void main(String[] args) { 8 A a = new A(); 9 Thread t = new Thread(a); 10 t.start(); 11 } 12 }
public class Mythread extends Thread { private int count = 5; @Override synchronized public void run() { super.run(); count--; System.out.println("由"+this.currentThread().getName()+"计算,count="+count); } } public class Test { public static void main(String[] args) { try { Mythread thread = new Mythread(); Thread a = new Thread(thread,"A"); Thread b = new Thread(thread,"B"); Thread c = new Thread(thread,"C"); Thread d = new Thread(thread,"D"); Thread e = new Thread(thread,"E"); a.start(); b.start(); c.start(); d.start(); e.start(); } catch (Exception e) { e.printStackTrace(); } } }
public class Test { public static void main(String[] args) { try { Thread.currentThread();//返回代码段正在被哪个线程调用的信息 Thread.currentThread().getName();//获取当前线程的名称 Thread.currentThread().isAlive();//当前线程是否处于活跃状态 Thread.sleep(1000);//让线程休眠1秒 Thread.currentThread().getId();//获取当前线程的唯一标识 Thread.currentThread().interrupt();//停止当前线程(此方法只是打一个停止线程的标记,并非真正停止线程,线程会继续执行) Thread.currentThread().interrupted();//测试当前线程是否已经中断,同时清除该中断状态 Thread.currentThread().isInterrupted();//测试当前线程是否已经中断,只是测试,不做其他处理 Thread.currentThread().stop();//弃用的方法,直接停止线程,使一些请理性工作无法完成,同时解锁锁定的对象,不能保证数据一致 Thread.currentThread().suspend();//弃用的方法,暂停线程,使用此方法可能会造成对公共对象的独占,使其他线程无法访问公共同步对象 Thread.currentThread().resume();//弃用的方法,继续暂停的线程 Thread.currentThread().setPriority(10);//设置优先级,1 <= x <= 10; Thread.currentThread().yield();//放弃当前cpu资源,让给其他任务去独占cpu } catch (Exception e) { e.printStackTrace(); } } }
2.如何使线程暂停
3.如何使线程停止
4.线程的优先级
5.线程安全相关的问题
标签:处理 sum resume cep res 线程 技术 thread one
原文地址:http://www.cnblogs.com/dreamich/p/7171803.html