JAVA多线程和并发解决实现之初探多线程(一)

多线程的含义(MultiThreading)

多个线程在同一个程序中同时运行。(一个线程就是一个CPU单位)
在这里插入图片描述
如图,可以看到可以同时启12个线程,一个线程是一个cpu单位,但一个线程不是一个cpu,所以常常听到什么6核12线程,8核16线程。

多线程的好处(The benefits of MultiThreading)

1.充分利用计算机性能,充分使用CPU。
2.更好的用户体验。(更快)

多线程的缺点

单核CPU和多核CPU。一个CPU上的线程不是真正意义上的并发,所以单核CPU不存在并发的问题。而多核CPU不同CPU的线程之间是可以实现真正意义上的并发。(I’m not sure, but I think it’ true, because I have read it form a real CS giant.)

Java中的线程模型

不同线程可以共享一个JAVA程序中的对象。

/**
 * @author: create by liubh
 * @email lbhbinhao@gmail.com
 * @date:2020/3/15
 */
public class ShareStateTest {
    public static void main(String[] args) {
        Integer testValue = new Integer(20);
        new Thread(()->{
            System.out.println(testValue);
        }).start();
        
    }
}

新创建的线程中可以读取创建的对象,但不能做修改。
写上赋值语句idea中会提示
Variable used in lambda expression should be final or effectively final。
这是因为启动线程执行的代码都是自己实现的run()方法,是一个空参方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兴趣使然的程序猿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值