介绍一些多线程中的常用方法:

        //启动方法
a.start(); //返回代码正在被哪个线程调用的信息
a.currentThread(); //返回线程的名字
a.currentThread().getName(); //判断线程是否处于存活状态
a.isAlive(); //线程延迟 单位毫秒
a.sleep(); //取得线程的唯一标识
a.getId();

暂停继续:

//让线程以毫秒进入阻塞状态,等到时间一过,正常运行
a.sleep(300);

suspend()和 resume()方法:

  线程的暂停和恢复,使用 suspend()方法使线程进入阻塞状态,不可以自动恢复,可使用resume()方法将线程唤醒。

yield()方法:

  yield()方法的作用是放弃当前CPU资源,将他让给其他的任务去使用,但是放弃的时间是不确定的,有可以刚刚放弃,马上又得到CPU的使用时间。

  下面写段代码举个例子:

不使用yield()方法执行:

public class Test01 extends Thread {

    @Override
public void run() {
super.run();
long beginTime = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
System.out.println(i++);
}
long endTime = System.currentTimeMillis();
System.out.println("执行完成,用时:" + (endTime - beginTime) + "毫秒!");
} public static void main(String[] args) {
Test01 thread = new Test01();
thread.start();
}
} //打印结果 9990
9992
9994
9996
9998
执行完成,用时:37毫秒!

使用yield()方法执行:

public class Test01 extends Thread {

    @Override
public void run() {
super.run();
long beginTime = System.currentTimeMillis();
for (int i = 0; i < 10000; i++) {
//使用yield()方法放弃CPU时间
this.yield();
System.out.println(i++);
}
long endTime = System.currentTimeMillis();
System.out.println("执行完成,用时:" + (endTime - beginTime) + "毫秒!");
} public static void main(String[] args) {
Test01 thread = new Test01();
thread.start();
}
} //打印结果 9984
9986
9988
9990
9992
9994
9996
9998
执行完成,用时:241毫秒!

事实证明,执行yield()方法把CPU时间给其他程序,会使此程序执行效率变慢。

最新文章

  1. 2016HDU校赛
  2. Centos6.6下安装MariaDB步骤,利用yum进行安装
  3. BZOJ 4544: 椭圆上的整点
  4. Hexo搭建Github静态博客
  5. JMeter学习(五)检查点
  6. PAT乙级 1025. 反转链表 (25)
  7. 哈夫曼(Huffman)编码
  8. JavaScript下拉框去除重复内容
  9. Android开源项目发现--- 工具类文件处理篇(持续更新)
  10. PHP7中我们应该学习会用的新特性
  11. MySQLzip archive版本(5.7.19)安装教程
  12. [ExtJS5学习笔记]第十六节 Extjs5使用panel新增的ViewModel属性绑定数据
  13. SwipeListView 详解 实现微信,QQ等滑动删除效果
  14. 【kindle笔记】读书记录-总
  15. 让table中td的内容靠上对齐
  16. wsl install lamp
  17. unity中实现简单对象池,附教程原理
  18. 开发webapp手机返回键 退出问题 摘录
  19. Vue.js系列之二Vue实例
  20. 1087. [SCOI2005]互不侵犯King【状压DP】

热门文章

  1. Teradata 认证系列 - 3. 关系型数据库的概念
  2. javascript设计模式之外观模式
  3. 介绍一款渗透神器——Burp Suite
  4. Visual Studio 2015简体中文版
  5. 交互ajax
  6. app再次进入数据不加载问题
  7. 如果CDN服务器出了问题,怎么做不影响自己的网站
  8. python_45_目录编程
  9. python_37_文件修改
  10. Servlet 学习小结