您的位置:首页 > 编程语言 > Java开发

中软java学习8月12日笔记

2016-08-20 11:49 141 查看
进程: 在操作系统中允许的一个独立的程序

       每一个允许的独立程序,都是一块独立的内存;

       如果一个进程崩溃了,其它进程不受影响;

       不同的操作系统,管理模式不一样;

线程:一个进程中可以包含多个线程,每个线程都是进程资源中的不同访问路径;

      在JavaEE的编程中,程序运行在Web Server中,允许多用户同时访问,都是多线程的运行环境  

    进程会被线程消耗更多的资源,以Oracle和Sql-server为例,Oracle以进程为分配单元,Sql-server以线程为分配单元

    

java.lang 类 Thread   

      线程 是程序中的执行线程。Java 虚拟机允许应用程序并发地运行多个执行线程

     每个线程都有一个优先级,高优先级线程的执行优先于低优先级线程

     每个线程都可以或不可以标记为一个守护程序

在单CPU的环境下,如Windows是一个多任务的环境(即多线程同时运行)。单CPU为了实现多线程,采用的是时间分片的算法;

这不是真正的多线程,是一个模拟实现;

创建新执行线程有两种方法:

    1. 继承Thread类,并重写run()方法

    class PrimeThread extends Thread {

         long minPrime;

         PrimeThread(long minPrime) {

             this.minPrime = minPrime;

         }

 

         public void run() {

             // compute primes larger than minPrime

              . . .

         }

     }

     然后,下列代码会创建并启动一个线程:

     PrimeThread p = new PrimeThread(143);

     p.start();

   2. 创建线程的另一种方法是声明实现 Runnable 接口的类

      class PrimeRun implements Runnable {

         long minPrime;

         PrimeRun(long minPrime) {

             this.minPrime = minPrime;

         }

 

         public void run() {

             // compute primes larger than minPrime

              . . .

         }

     }

   然后,下列代码会创建并启动一个线程:

     PrimeRun p = new PrimeRun(143);

     new Thread(p).start();

//线程资源锁定的关键字 synchronized

   

   1. synchronized锁定方法  (当多线程并发的时候,只能有一个线程进入这个方法体)

                public synchronized void buyTicket(){ }

   2. synchronized锁定资源     

            当一个线程操作共享资源的时候,其它线程不能够修改该资源   

            synchronized(tickets ){

                //其它代码

            }

   3.  synchronized锁定当前对象,当一个线程进入这个代码块后,其它线程不允许进入

 

            synchronized(this ){

                //其它代码

            }

   4.   synchronized()只能锁定引用类型的对象,不能锁定基本类型变量

        int ticket = 100;            

    synchronized(ticket){

            

    }

/**

 * 死锁的4个必要条件:

 * 1、资源互斥条件:线程使用的资源中至少有一个不能共享,如一根筷子一次只能被一人使用

 * 2、线程持有资源并等待另一个资源:拿着筷子的同时等待另一只筷子

 * 3、资源不能被抢占:不能抢别人的筷子

 * 4、循环等待资源:一直不退出

 *

 */
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: