java多线程

来源:互联网 发布:oracle数据库日常备份 编辑:程序博客网 时间:2024/06/03 06:51
进程
  是一个正在执行中的程序
   每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元。


2:线程:
就是进程中的一个独立的控制单元,线程在控制着进程的执行。
一个进程至少有一个线程。

3:java VM(虚拟机)启动的时候会有一个Java.exe。该进程中至少一个线程负责Java程序的执行。
   而且这个线程的运行的代码存在于min方法中,该线程称之为主线程。


4:拓展
其实更细节说明jvm,Jvm启动不止一个线程,还有负责垃圾回收机制的线程。


5:如何在自定义的代码中,自定义一个程序呢?


   通过在api中的查找,java中已经提供了对线程这类事物的描述,就是thread类。
   
   创建线程的一种方式,继承thread类中。


   步骤:
1:定义类继承thread。
2:复写thread类中的run方法
3:调用线程的start方法。 
该方法两个作用,启动线程,调用run方法。


  创建线程的第二张方式,实现Runnable接口

  步骤:
1:子类覆盖接口的run方法。
2:通过thread类创建线程,并将实现了runnable接口的子类对象作为参数传递给thread类的构造函数。
3:thread类对象调用start方法开启线程。


6:thread和runnable的关系


   1:thread是runnable的子类
   2:实际上thread和runnable的关系和我们前面讲的代理设计模式很像,这里的thread就是代理类。我们自己实现的类才是real.


   3:thread和runnable的区别
.runnable可以共享数据


7:线程安全问题。

导致线程安全问题出现的原因:
.多个线程访问出现延迟。
.线程随机性(一般出现在多个线程有数据共享,而且run中的语句不止有一句)


注:线程安全问题在理想状态下,不容易出现,但一旦出现对软件的影响是非常大的
0 0
原创粉丝点击