Java--线程基础知识学习初步记录(1)

Java--线程基础知识学习初步记录(1)

1.Runable接口:

Java--线程基础知识学习初步记录(1)

所以,即使实现了Runnable接口,那也无法启动线程,必须依托其他类。

      而Thread类,有一个构造方法,参数是Runnable对象,也就是说可以通过Thread类来启动Runnable实现的多线程。


二,Thread类:

Java--线程基础知识学习初步记录(1)

thread实现了Runnable接口, 属性name表示线程的名字, priority表示线程的优先级,daemon表示是否是守护线程,

以下是关系到线程运行状态的几个方法:

  1)start方法

  start()用来启动一个线程,当调用start方法后,系统才会开启一个新的线程来执行用户定义的子任务,在这个过程中,会为相应的线程分配需要的资源。

  2)run方法

  run()方法是不需要用户来调用的,当通过start方法启动一个线程之后,当线程获得了CPU执行时间,便进入run方法体去执行具体的任务。注意,继承Thread类必须重写run方法,在run方法中定义具体要执行的任务。

  3)sleep方法

  sleep方法有两个重载版本:

sleep(long millis)     //参数为毫秒
 
sleep(long millis,int nanoseconds)    //第一参数为毫秒,第二个参数为纳秒

 

 

  sleep相当于让线程睡眠,交出CPU,让CPU去执行其他的任务。

  但是有一点要非常注意,sleep方法不会释放锁,也就是说如果当前线程持有对某个对象的锁,则即使调用sleep方法,其他线程也无法访问这个对象。看下面这个例子就清楚了:



相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
  • 2021-06-29
  • 2021-10-27
  • 2021-07-23
  • 2021-06-29
猜你喜欢
  • 2021-11-02
  • 2021-07-10
  • 2021-12-25
  • 2022-12-23
  • 2022-03-09
  • 2021-05-25
  • 2022-01-05
相关资源
相似解决方案