LOFTER for ipad —— 让兴趣,更有趣

点击下载 关闭

ID488026125

licht-power.lofter.com|个人应用 for Android

共32篇文章,8人喜欢

应用截图

ID488026125

ID488026125

 

Java中的多线程(1)

一、多线程概念 

进程是一个应用程序在CPU上的一次执行过程,每一个进程都有一个执行顺序,该顺序 是一个执行路径(控制单元),线程是就是进程中的一个独立控制单元,线程控制着进程的执行,一个进程中至少有一个线程。CPU在多个应用程序中快速切换 ,看起来像同时运行。多线程可以使代码同时执行,提高效率。 
 
二、创建线程 
1、继承Thread类 
1)定义一个类,继承Thread类 
2)重写Thread中的run方法//目的:将自定义的代码存储在run方法中,让线程去执行 
3)调用线程的start方法//1)启动线程并执行调用run方法 
Demo: 
class Demo extends Thread{ 
       public void run(){ 
  for(int x= 0; x<60; x++) 
System.out.println("demo run----"+x); 


puiblic class ThreadDemo{ 
        Demo d  = new Demo();//创建好了一个线程 
        d.start(); 

2、 实现Runnable接口 
1) 定义类实现Runnable接口 
2) 覆盖Runnable接口中的run方法//将线程要运行的自定义代码存放在该run方法中 3)  通过Thread类建立线程对象//Runnable并不能实现Thread类的功能,只有Thread类的功能才能建立线程。 
4)  将Runnable接口的子类对象作为实际参数传递给Thread类的构造函数//为什么呢?因为,自定义的run方法所属的对象时Runnable接口的子类对象,所以要让线程去指定指定对象的run方法,就必须明确该run方法所属的对象 
5) 调用Thread类的start方法开启线程并调用Runnable接口子类的run方法 
Demo: 
class demo implements Runable{ 
    public void run(){ 


class runabledemo{ 
  public static void main(String[] args){ 
   demo d  = new demo(); 
  Thread t  = new Thread(d); 
t.start(); 


 


三、线程的状态:

 

  
四、线程常用方法 
1) static Thread currentThread()  返回对当前正在执行的线程对象的引用 
2) long getId() 返回该线程的标识符 
3) String getName() 返回该线程的名称 
4) int getPriority() 返回线程的优先级 
5) void join() 等待该线程终止 
6) void join(long millis) 等待该线程终止的时间最长为 millis 毫秒。 
7) void setName(String name) 改变线程名称 
8) void setPriority(int newPriority) 更改线程优先级 
9)  static void sleep(long millis) 在指定的毫秒数内让当前正在执行的线程休眠 
10)  static void start()  使该线程开始执行;Java 虚拟机调用该线程的 run 方法。 
11) static void yield() 暂停当前正在执行的线程对象,并执行其他线程。 
12) String toString() 返回该线程的字符串表示形式,包括线程名称、优先级和线程组。 
五、总结 

1) 线程的创建方式:一个是继承方式,一个是实现方式。

2) 实现方式避免了单继承的局限性。因为编程中,定义的子类可能会因为需要已经继承了另一个父类,而子类中也有我们需要的同步执行的代码,那么java中单继承规则的存在,使得不能使用直接继承Thread类的方式创建新线程。这就用到了实现方式,实现Runnable接口,间接的增加的程序的拓展性。

3)建立线程一般使用实现方式,因为更有拓展性,接口也可多实现。

4)继承Thread线程代码存放在Thread子类方法中,实现Runable线程代码存放在子类的run方法中。


ID488026125

功能说明

1. 独立查看“ID488026125”发布在LOFTER的所有文章
2. 文章更新通知提醒
3. 归档方式查看
4. 方便的分享文章到微信、微博

创建一个属于自己的APP

本应用由UAPP生成,内容版权归作者所有。UAPP支持LOFTER、网易博客、新浪博客、百度空间、QQ空间、blogbus、豆瓣日记、点点网、搜狐博客、网易摄影等生成个人应用。

了解更多

联系我们|招贤纳士|移动客户端|风格模板|官方博客|侵权投诉 Reporting Infringements|未成年人有害信息举报 0571-89852053|涉企举报专区
网易公司版权所有 ©1997-2024  浙公网安备 33010802010186号 浙ICP备16011220号-11 增值电信业务经营许可证:浙B2-20160599
网络文化经营许可证: 浙网文[2022]1208-054号 自营经营者信息 工业和信息化部备案管理系统网站 12318全国文化市场举报网站
网信算备330108093980202220015号 网信算备330108093980204230011号