Java多线程编程核心技术学习心得

学习目的: 补充Java基础,了解多线程  为之后分布式,高并发打基础

学习原因: 想要了解多线程 准备面试 大佬推荐

学习方法: 

  1. 浏览书籍目录,知道每章大概的主题
  2. 阅读具体章节的时候,带着问题去看
  3. 这本书里面几乎80%的内容都是代码,要去手敲实现并运行

学习感想: 因为自己目前还处于学习阶段, 感悟还没有那么多。感悟到的是学习这本书的时候,你更多的时间在于编写代码(虽然官方有源代码提供,文章底部会放上源代码的链接),并且这本书中的代码给的例子的大概层次是比较的简单的 举个栗子:

关键字synchronized加在static方法上意味着是给当前class类上锁这一节中

如:

Service:

public class Service {

synchronized public static void printA() {
        try {
            System.out.println("线程名称为:" + Thread.currentThread().getName()
                    + " 在" + System.currentTimeMillis() + " 进入printA");
            Thread.sleep(3000);
            System.out.println("线程名称为:" + Thread.currentThread().getName()
                    + " 在" + System.currentTimeMillis() + " 离开printA");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }

    synchronized public static void printB() {
        try {
            System.out.println("线程名称为:" + Thread.currentThread().getName()
                    + " 在" + System.currentTimeMillis() + " 进入printB");
            Thread.sleep(3000);
            System.out.println("线程名称为:" + Thread.currentThread().getName()
                    + " 在" + System.currentTimeMillis() + " 离开printB");
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}


 ThreadA B....and more:

public class ThreadA extends Thread {


    @Override
    public void run() {
        Service.printA();
    }
}

Run:

public class Run {

    public static void main(String[] args) {
        ThreadA a = new ThreadA();
        a.setName("a");
        a.start();

        ThreadB b = new ThreadB();
        b.setName("b");
        b.start();
    }

}
  • Service: 具体的场景用例...里面的内容是你在输出台上看着的
  • ThreadA B...and more: 多线程及run方法的重写
  • Run: Main函数

敲久了并思考代码想要表达的意思是什么,并及时的总结出来, 还是举个栗子

第二章是有关多线程中对并发访问的控制,说的简单点就是synchronized的各种使用,里面的代码大概有这些

来自于官方提供的源代码

你要抓住的几点就是synchroized关键字放在方法上的锁的是当前的对象,得到的是当前对象的锁等概念,大部分的篇幅在于这些概念的代码证明

暂且想到这么多...有其他想法的话会后序补上,实验室的小伙伴有其他建议的话也可以提出来

 

源代码链接: 链接:http://pan.baidu.com/s/1mginA9E 密码:62i3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值