zoukankan      html  css  js  c++  java
  • java并发LockSupport

    java并发LockSupport

    LockSupport是阻塞和唤醒线程的重要类。
    park()方法使得当前线程阻塞
    unpark(Thread thread)唤醒线程

    例子

    可以把注释取消再执行,就会发现park()方法使得当前线程阻塞会使得main线程阻塞,无法结束。

    package com.java.javabase.thread.base.concurrent.lock;
    
    import lombok.extern.slf4j.Slf4j;
    
    import java.util.concurrent.locks.LockSupport;
    
    @Slf4j
    public class LockSupportTest {
        /**
         * @author
         * @version
         * @since
         */
        private static Object object = new Object();
        private static int size = 10;
        private static int sum = 0;
    
        public static void main(String[] args) {
            Thread t1 = new Thread() {
                @Override
                public void run() {
                    for (int i = 0; i < size; i++) {
                        sum += i;
    
                    }
                    LockSupport.park();
                    log.info("{} sum :{}", Thread.currentThread().getName(),sum);
                }
            };
            Thread t2 = new Thread() {
                @Override
                public void run() {
                    for (int i = 0; i < size; i++) {
                        sum += i;
                    }
                    log.info("{} sum :{}",Thread.currentThread().getName(), sum);
                }
            };
            t1.start();
            //t2.start();
            log.info("current thread is {}",Thread.currentThread().getName());
            //LockSupport.park(t2);
            LockSupport.unpark(t1);
            //LockSupport.unpark(t2);
    
    
        }
    
    
    }
    
    

    结果

    2019-08-09 11:40:15,219   [main] INFO  LockSupportTest  - current thread is main
    2019-08-09 11:40:15,219   [Thread-0] INFO  LockSupportTest  - Thread-0 sum :45
    
  • 相关阅读:
    弹性盒子模型属性之flex-shrink
    Git----基本操作
    Git----简介
    ES6常用语法
    nginx学习
    Shell基础命令(二)
    Linux目录
    Shell基础命令(一)
    CRM之分页
    Django之ModelForm组件
  • 原文地址:https://www.cnblogs.com/JuncaiF/p/11326297.html
Copyright © 2011-2022 走看看