2017-07-15 45 views
1

我想知道应该在线程中运行我的函数还是在线程中编写函数代码! 我的均值是这样的:在线程中运行函数或在函数中使用线程

在这里,我用我的功能在一个线程

... 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_disable_stable_mode); 
      new Thread(new Runnable() { 
       @Override 
       public void run() { 
        function1(); 
        function2(); 
        function3(); 
       } 
      }).start(); 

     } 
     void function1(){ 
     //some code 
     } 
     void function2(){ 
      //some code 
     } 
     void function3(){ 
      //some code 
     } 
    ... 

,在这里我使用一个线程为每个函数:

... 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_disable_stable_mode); 
     function1(); 
     function2(); 
     function3(); 

    } 
    void function1(){ 
     new Thread(new Runnable() { 
      @Override 
      public void run() { 
       //some code 
      } 
     }).start(); 
    } 
    void function2(){ 
     new Thread(new Runnable() { 
      @Override 
      public void run() { 
       //some code 
      } 
     }).start(); 

    void function3(){ 
     new Thread(new Runnable() { 
      @Override 
      public void run() { 
       //some code 
      } 
     }).start(); 
    ... 

是他们是一样的性能?

回答

0

第一样本代码将执行 function1()然后function2()然后function3()

在第二示例代码

将被执行 function1()function2()function3()同时

它们不是与方法2不同的相同方法1

+0

它们是否相同性能? –

+0

我认为你不能问这个问题,因为他们是不同的东西 – Ali

+0

但是,如果功能不使用相同的资源,他们将相同的承诺 – Ali