您现在的位置是:首页 >

怎么实现多线程 Java多线程程序如何掌握基本语法

火烧 2021-08-12 07:47:38 1075
Java多线程程序如何掌握基本语法   Java多线程程序需要我们具体的学习相关语法 其中我们要了解相关的语法究竟有什么 很多重要的问题成本都在细节 基本的语法就是Java多线程程序的细节 希望大家有

Java多线程程序如何掌握基本语法  

  Java多线程程序需要我们具体的学习相关语法 其中我们要了解相关的语法究竟有什么 很多重要的问题成本都在细节 基本的语法就是Java多线程程序的细节 希望大家有所收获

  Java多线程程序中经常用到的方法有以下几个 run() start() wait() sleep() notify() notifyAll() yield() join() 还有一个重要的关键字 synchronized 下面分别对这些方法进行解释

  run()和start()

  这两个方法应该都比较熟悉 把需要并行处理的代码放在run()方法中 start()方法启动线程将自动调用 run()方法 这是由Java的内存机制规定的 并且run()方法必须是public访问权限 返回值类型为void

  关键字Synchronized

  这个关键字用于保护共享数据 当然前提是要分清哪些数据是共享数据 每个对象都有一个锁标志 当一个线程访问该对象时 被Synchronized修饰的数据将被 上锁 阻止其他线程访问 当前线程访问完这部分数据后释放锁标志 其他线程就可以访问了

   public ThreadTest implements Runnable

   {

   public synchronized void run(){

   for(int i= ;i< ;i++)

   {

   System out println( + i);

   }

   }

   public static void main(String[] args)

   {

   Runnable r = new ThreadTest();

怎么实现多线程 Java多线程程序如何掌握基本语法

   Runnable r = new ThreadTest();

   Thread t = new Thread(r );

   Thread t = new Thread(r );

   t start();

   t start();

   }

   }

  以上这段程序中的 i 变量并不是共享数据 也就是这里的Synchronized关键字并未起作用 因为t t 两个线程是两个对象(r r )的线程 不同的对象其数据是不同的 所以r 和r 两个对象的i变量是并不是共享数据

  当把代码改成如下 Synchronized关键字才会起作用

   Runnable r = new ThreadTest();

   Thread t = new Thread(r);

   Thread t = new Thread(r);

   t start();

   t start();

lishixinzhi/Article/program/Java/gj/201311/27305  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码