美文网首页
2020-07-30(线程问题)

2020-07-30(线程问题)

作者: 残烛_商志飞 | 来源:发表于2020-08-08 08:01 被阅读0次

第一节:

1,线程:线程是程序的一条路径,一个进程可以又多条线程;

                多线程可以提高效率;

第二节:

1,并行:两个任务同时刻进行,需要多核cpu;

    并发:两个任务轮流进行;但是感觉是两个一块进行

第三节:

1,java启动jvm,启动了一个进程(启动了一个程序),启动后会启动垃圾回收线程和主线程,所以java是多线程的!

第四节:

实现多线程方式1:

重写thread类run方法,然后通过start方法开启线程调用run方法;

第五节:

实现多线程方式2:实现runnable,利用thread传入runnable引用,通过start调用run(),如果target不为空调用子类的run;

第六节:

//睡眠

thread.sleep(1000ms);

//获取名字:

thread.currentthread.getName();

thread.getName();

t.setDaemon(true):当其他线程关闭后t线程也会关闭

//加入线程

t.join(i);加入线程t,执行ims,i可以去除(方法的重载)

//让出cpu

thread.yield();

//设置优先级:

t1.setPriority(i);i在1-10之间;

第七节:

//同步代码块;

使用synchronized关键字加上一个锁对象,来定义一段代码,这就是同步代码块;

多个同步代码块如果使用相同的锁对象,那么就是同步的;

//注意:
锁对象不能用匿名的对象,因为匿名的对象不是一个对象;

//非静态的同步方法的锁对象

非静态的同步方法的锁对象是this

静态的同步方法的锁对象是类名.class;(字节码对象)

new Thread() {

        public void run() {

                while(true) {

                        p.print1();

                }

        }

}.start();

class Printer {

            Demo d = new Demo();

            public void print1() {

            //synchronized(new Demo()) { //同步代码块,锁机制,锁对象可以是任意的

            synchronized(d) {

                System.out.print("黑");

                System.out.print("马");

                System.out.print("程");

                System.out.print("序");

                System.out.print("员");

                System.out.print("\r\n");

        }

}

第八节

多线程同步代码块不能够嵌套,否则容易死锁;尽量不要嵌套使用;

vector是线程安全的;Arraylist是线程不安全的;

StringBuffer线程安全 Stringbuilder线程不安全

HashTable线程安全,HashMap线程不安全;

为了保证线程安全,可以使用collection包装,collections.sychronizedList/map();

相关文章

  • 2020-07-30(线程问题)

    第一节: 1,线程:线程是程序的一条路径,一个进程可以又多条线程; 多线程可以提高效率; 第二节:...

  • HHH000409: Using org.hibernate.i

    项目启动报如下警告:2020-07-30 15:54:59.681 WARN 11709 --- [ rest...

  • 2018-06-12 第三十七天

    一、线程安全 线程安全的问题,是针对多线程的程序。单线程的情况下,是不存在线程安全问题。 产生线程安全问题的原因:...

  • 第3章: 基本概念

    2020-07-30学习JavaScript高级程序设计 笔录 语法 数据类型 流控制语句 函数 3.1.1: 函...

  • 7.2 Handler消息传递机制

    简介:handler消息处理者,用来发生和处理消息,用于解决线程安全问题; 线程安全问题:多线程导致线程安全问题,...

  • 线程的基本语法

    线程同步[解决线程安全问题] 解决线程安全问题 线程同步方式一:同步代码 语法基本 synchronized (同...

  • Java线程安全

    线程安全问题的概述 线程安全问题的代码实现 线程安全问题产生的原理 解决线程安全问题_同步代码块 同步代码块:sy...

  • filebeat采集多个目录日志

    2020-07-30 filebeat采集多个目录日志 预期效果:在kibana中建立不同的所以,通过索引可以查到...

  • RxJava响应式编程

    常用名词说明 Schedulers(调度器) 解决Android主线程问题; 解决多线程线程问题 Observab...

  • 线程问题

    http://blog.csdn.net/xyls12345/article/details/26256693 J...

网友评论

      本文标题:2020-07-30(线程问题)

      本文链接:https://www.haomeiwen.com/subject/vsarrktx.html