zoukankan      html  css  js  c++  java
  • 同步 4

    package thread;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.concurrent.locks.Lock;
    import java.util.concurrent.locks.ReentrantReadWriteLock;
    
    public class TestOne {
    
        private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
        
        public static void main(String[] args) {
    
            /**
             * 14.5.12  为每个线程构造一个实例
             * 为了避免共享变量,
             * ThreadLocal   辅助类为各个线程提供各自的实例。
             * 
             * 
             * 有几个方法
             * get
             * set
             * current
             * remove
             * 
             * 
             * 14.5.13 锁测试和超时
             * 
             * tryLock( )
             * 尝试获得锁,如果成功返回true,如果失败立刻获取其他的锁。
             * 
             * await(long time,TimeUtil unit)
             * 进入条件的等待集,直到线程从等待集中移除或者等待了指定的时间。如果因为等待时间到了返回就返回false。否则返回true
             * 
             * 
             * 14.5.14  读写锁 
             * readLock()得到一个可以被一个或多个线程公用的读锁,会排斥所有写锁
             * writeLock() 得到一个写锁 ,会排斥所有读写操作
             */
    
            ReentrantReadWriteLock rw = new ReentrantReadWriteLock();
            Lock readLock = rw.readLock();
            Lock writeLock = rw.writeLock();
            readLock.lock();
            writeLock.lock();
            
            ThreadLocal threadLocal = new ThreadLocal();
    //        threadLocal.get();
            System.out.println(threadLocal.get());
            
            new TestOne().method1();
        }
        
        //会有问题?没看出来
        public void method1(){
            for(int i=0;i<500;i++){
                new Thread(){
                    public void run() {
                        String dateStr =  sdf.format(new Date());
                        System.out.println(dateStr);
                    }
                }.start();
                /*try {
                    Thread.sleep(10);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }*/
            }
        }
    
        
        
    }
  • 相关阅读:
    Django学习笔记之model篇(二)
    Django学习笔记之model篇(一)
    Django学习笔记之auth系统
    rust中文论坛
    cookies和session总结
    golang 简书
    mac快捷键
    目前的缺点
    Phalcon notes
    Docker note
  • 原文地址:https://www.cnblogs.com/lxh520/p/8476776.html
Copyright © 2011-2022 走看看