博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java多线程
阅读量:5082 次
发布时间:2019-06-13

本文共 1507 字,大约阅读时间需要 5 分钟。

一、 

进程: 
进程是程序的一次动态执行过程,经历从代码加载、代码执行到执行完毕的一个完整过程。一个应用程序就是一个进程。多进程操作系统能同时运行多个进程(程序),由于CPU具备分时机制,所以每个进程都能循环获得自己的CPU时间片。 
线程: 
每个Java程序都至少有一个线程——主线程。当一个Java程序启动时,JVM会创建主线程,并且在该线程中调用程序的main()方法。 
1、单线程: 
之前接触的都是单线程程序,单线程的特点是,被调用的方法执行完毕后当前方法才可能完成,前一个方法完成后才进行下一个方法。这是一种顺序调用。 
2、多线程: 
当程序同时用多个线程调用不同方法时,并不是像单线程一样的顺序调用,而是启动独立的线程之后立刻返回,各线程运行从run()方法开始,当run()结束后线程运行结束。 
3、线程的优点——并行、省时。 
单核CPU是通过暂停与切换实现多线程的。 
进程与线程的区别: 
(1)一个应用程序就是一个进程,而线程是一个进程内部的多个运行单位。 
(2)多进程的内部数据和状态都是完全独立的,而多线程是共享一块内存空间和一组系统资源(在同一进程内),在程序内部可以相互调用。 
(3)线程本身的数据通常只有寄存器数据,以及一个程序执行时使用的堆栈,所以线程的切换比进程切换的负担小。 
二、 
每个线程对象都继承了java.lang包中的Thread类,或implements了Runnable接口类。 
线程的启动:start()方法; 
线程的运行:run()方法。 
java多线程的实现 

        1、继承Thread类实现线程。重写Thread类的run()方法

public class ThreadDemo extends Thread{      //要统计的磁盘路径      private String path;        //构造方法      public ThreadDemo(String path){          this.path = path;      }                //主方法      public static void main(String[] args){          //得到根目录          File[] root = File.listRoots();          for(int i=0;i

 2、实现Runnable接口创建线程 
Runnable接口只有一个run()方法没有start()方法,所以在使用Runnable接口的实现类创建线程时,启动线程要构造一个Thread对象,并调用它的start()方法来启动线程。 
  
        3、使用匿名内部类创建线程 
在实例化Runnable方法时使用匿名内部类重写run()方法。然后再用Thread对象的start()方法启动线程。 
如果run()方法要用到while(true){....}时,会发现CPU的占用率是100%。这时就要让线程隔一段时间暂停一下。在线程运行时,调用一个静态方法sleep(long time),可以让线程暂停time时间后再开始运行,暂停的时间以毫秒计。Thread.sleep(long time)只会让线程暂停(挂起),不是停止也不是退出。当线程在sleep时如果JVM或其他线程强行终止这个线程,sleep方法会抛出线程中断异常InterruptedException,所以需要处理。

转载于:https://www.cnblogs.com/yanmei-yaomy/archive/2012/12/31/3024686.html

你可能感兴趣的文章
CSS之不常用但重要的样式总结
查看>>
Python编译错误总结
查看>>
URL编码与解码
查看>>
日常开发时遇到的一些坑(三)
查看>>
Eclipse 安装SVN插件
查看>>
深度学习
查看>>
TCP粘包问题及解决方案
查看>>
构建之法阅读笔记02
查看>>
添加按钮
查看>>
移动端页面开发适配 rem布局原理
查看>>
Ajax中文乱码问题解决方法(服务器端用servlet)
查看>>
会计电算化常考题目一
查看>>
阿里云服务器CentOS6.9安装Mysql
查看>>
剑指offer系列6:数值的整数次方
查看>>
js 过滤敏感词
查看>>
poj2752 Seek the Name, Seek the Fame
查看>>
软件开发和软件测试,我该如何选择?(蜗牛学院)
查看>>
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>