zoukankan      html  css  js  c++  java
  • 多线程的一些理解

         当我们要用到多线程时,第一个想到的就是Thread,那在java机制中Thread是怎样写到的呢。

       通过查看源码,我们能找到最核心的方法,在Thread中有一个run方法

         public void run(){

         if(target!=null){

             target.run();  

        }

           }

        target是Runnable对象。

    所以执行Thread有两种方法:1.重写Thread 的run方法。

                  2.当target不等于null,即有Runnable,那么就执行Runnable的run方法。

    1.Thread thread = new Thread(){重写run方法}

      thread.start();

    2. new Thread(new Runnable{

                public void run(){

        }

        }).start();

    定时器

      

            new Timer().schedule(new TimerTask() {
                
                @Override
                public void run() {
                    // TODO Auto-generated method stub
                    
                }
            }, 0, 1000);//每隔一秒执行一次run方法

    线程中我们经常用到同步

      这就要我们实现其原子性

      即用同一把锁,锁住代码,也可以锁住同一个类

    最好的处理是把要同步的方法放入到一个业务类中同一管理

       synchronized (obj) {
       while(boolean){
        obj.wait(timeout);
       }
      }

  • 相关阅读:
    C++闭包到C函数指针转化
    是否使用预编译头文件
    多线程模型一:只完成最新任务
    关于“函数针对入参判空并返回”
    C++函数参数的编写
    .Net Core(二) 下
    微信接口本地调试(IIS服务器)
    .Net Core 学习(二)上篇
    .Net Core学习(一)
    博客园的第一个博客
  • 原文地址:https://www.cnblogs.com/zyandroid/p/3167573.html
Copyright © 2011-2022 走看看