多线程1

来源:互联网 发布:iphone照片编辑软件 编辑:程序博客网 时间:2024/06/03 22:39

应用程序


进程

1.运行时的应用软件

2.进程之间的内存不是共享(独占)

3.进程间通信使用socket套接字


多线程

1.进程内并发执行的代码段

2.线程之间共享内存

3.创建灵活响应的桌面程序

4.(stack 叫做方法stack  对应一个线程)所以每个运行中的线程对应一个栈

5.应用程序至少有一个线程(主线程)




java.lang.Thread

-----------------------------------------------

class ThreadDemo1{

  public static void main(String[] agrs){

    MyThread t1 = new MyThread();

    YourThread t2 = new YourThread();

    t1.start();  //线程里面run方法是系统调用的 我们告诉它start

    t2.start();

  }

}


class MyThread extends Thread{

  public void run(){

    for(;;){

      print("hello world");

    }

   }

}

class YourThread extends Thread{

  public void run(){

    for(;;){

      print("xx");

    }

  }

}

---------------------

start /affinity 0x1 java ThreadDemo1

----------------------------------------------

class MyThread extends Thread{

  private String name;

  public MyThread(String name){

    this.name=name;

  }

  public void run(){

    for(;;){

      print("hello world");

    }

   }

}


class YourThread extends Thread{

  private String name;

  public YourThread(String name){

    this.name=name;

  }

  public void run(){

    for(;;){

      print("xx");

    }

   }

}


class ThreadDemo1{

  public static void main(String[] agrs){

    MyThread t1 = new MyThread("Thread-1");

    YourThread t2 = new YourThread("Thread-2");

    t1.start();  //线程里面run方法是系统调用的 我们告诉它start

    t2.start(); //如果一定要调用run  那他就不是多线程 而是一个普通函数调用

  }

}

要么一堆1后面一堆2 或者反之

-----------------------------
理想办法 一人抢占后 在run中 写Thread.yield();  //静态方法 与 类名无关
-------------------------------------------------------------------------------
java.lang.Thread
1.Thread.yield() 让当前线程让出cpu抢占权具有谦让之意,瞬时
2.join
原创粉丝点击