A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 沐子松/kf 中级黑马   /  2014-6-13 11:36  /  995 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1.线程的两种方式
方式一:需要从Java.lang.Thread类派生一个新的线程类,重写它的run()方法;
[java] view plaincopyprint?


  • class Runner Extends Thread{  
  • public void run(){}  
  • }  
  • main:  
  • Runner r = new Runner();  
  • r.start();  


方式二:实现Runnalbe接口,重写Runnalbe接口中的run()方法。
[java] view plaincopyprint?


  • class Runner implements Runnable{  
  • public void run(){}  
  • }  
  • main:  
  • Runner r = new Runner();  
  • Thread thread = new Thread(r);  
  • thread.start();  


因为Java只能单继承,为了能让自定义类实现更复杂的功能建议实现Runnalbe接口2.join(),在主线程调用 新线程.join(),把新线程合并到主线程中去,新线程成为主线的一部分,执行步骤则是变成先执行完新线程的内容再执行主线程中join()后面的内容3.interrept和yield的区别,interrept完全停止这个线程,以后都不再执行,yield则是将当前此刻的执行权让出,让cpu执行其他线程,过一会又会重新执行4.getPriority和setPriority设置优先级5.正确停止一个循环线程的方法[java] view plaincopyprint?


  • class Runner implements Runnable{  
  • private flag = true;  
  • publiv void run(){  
  •   while(flag){}  
  • }  
  •   
  • public void stopThread(){  
  •   flag = false;  
  • }  
  • }  

第一步骤:flag=false第二步骤:在主线程中调用,该线程.join(); 6.当对一个方法加synchronized后,这个方法在某一时刻只能由一个线程调用,不过可以修改,访问,该方法中的成员变量,成员变量并没有锁住,同一时刻只能加锁的方法只能
运行一个,必须等前个方法的锁时间到了,才能调用后一个方法7.wait()锁定住当前对象的线程,将其停止住,对应的方法notify()叫醒该线程

4 个回复

倒序浏览
混个黑马币
回复 使用道具 举报
顶起来哦!
回复 使用道具 举报
学习笔记都发到这里了吗??
回复 使用道具 举报
顶一下!!!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马