zoukankan      html  css  js  c++  java
  • 读书笔记之《Java编程思想》

    17. 容器

    Set

    存入Set的每个元素都必须是唯一的,因为Set不保存重复元素。

    Set接口不保证维护元素的次序

    Map

    映射表(关联数组)的基本思想是维护的是键-值(对)关联,因此可以用键来查找值。

    基本方法

    Map.put()
    Map.get()
    

    21. 并发

    • 阻塞:

    如果程序中的某个任务因为该程序控制范围之外的某些条件(通常是I/O)而导致不能继续执行,那么我们就说这个任务或线程阻塞了。

    Java的线程机制是抢占式的。

    一个线程就是在进程中的一个单一的顺序控制流,因此,单个进程可以拥有多个并发执行的任务。


    LiftOff任务将显示发射之前的倒计时:

    public class LiftOff implements Runnable{
    	protected int countDown = 10;
    	private static   int taskCount =0;
    	private final int id=taskCount++;
    	public LiftOff(){
    		this.countDown=countDown;
    	}
    
    public String status(){
    	return "#"+id +"("+(countDown>0 ? countDown:"LiftOff !")+").";
    }
    
    public void run(){
    	while(countDown-->0){
    	System.out.println(status());
    	Thread.yield();
    		}
    	}
    }
    
    /*************************************************************/
    
    public class ThreadPro {
        public static void main(String [] args){
            for(int i=0;i<5;i++)
                new Thread(new LiftOff()).start();
            System.out.println("Waiting for LiftOff !");
        }
    }
    

    • 执行器(Executor)

    Executor允许你管理异步任务的执行,而无需显式地管理线程的生命周期。


    • 优先级

    线程的优先级将该线程的重要性传递给了调度器。

    尽管CPU处理现有线程集的顺序使不确定的,但是调度器将倾向于让优先权最高的线程先执行。

    另外会让优先级较低的线程执行的频率较低,故而优先权不会导致死锁。

    Learn ,Practice ,Summary !
  • 相关阅读:
    1026 Table Tennis (30)
    1029 Median
    1025 PAT Ranking (25)
    1017 Queueing at Bank (25)
    1014 Waiting in Line (30)
    1057 Stack (30)
    1010 Radix (25)
    1008 Elevator (20)
    字母大小写转换
    Nmap的基础知识
  • 原文地址:https://www.cnblogs.com/daminzhou/p/8372547.html
Copyright © 2011-2022 走看看