Volatile关键字的作用? 让其他线程能够马上感知到某一线程对某个变量的修改。 1)保证可见性,对共享变量的修改,其他线程马上能感知到,但不能保证原子性。 2)保证有序性,在JVM的编译阶段和指令优化排序阶段,对于volatile修饰的变量,其代码顺序不会改变。 Volatile和Synchro ...
分类:
其他好文 时间:
2020-02-27 00:50:12
阅读次数:
60
/** * 线程通信的应用:经典例题:生产者/消费者问题 * * 生产者(Productor)将产品交给店员(Clerk),而消费者(Customer)从店员处取走产品, * 店员一次只能持有固定数量的产品(比如:20),如果生产者试图生产更多的产品,店员 * 会叫生产者停一下,如果店中有空位放产品 ...
分类:
编程语言 时间:
2020-02-25 09:40:29
阅读次数:
96
在编程过程中为了增加友好性,在程序出现bug时一般不会将错误信息显示给用户,而是显示一个提示的页面 try: pass except Exception as e: pass 异常种类 AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输 ...
分类:
其他好文 时间:
2020-02-24 09:22:11
阅读次数:
69
stop() 强制停止线程;已经弃用;可能造成数据不一致等问题。 interrupt() 在线程中做停止标记,并非真的停止线程。 this.interrupted()测试当前线程是否中断,并清除中断状态。 this.isInterrupted() 测试线程是否已经中断。 方法声明: public s ...
分类:
编程语言 时间:
2020-02-17 20:17:15
阅读次数:
147
C89关键字:共32个关键字修饰类型(8):auto-static-extern-register signed-unsigned const volatile基本类型(7):void short-long char-int float-double复合类型(4):typedef struct un ...
分类:
其他好文 时间:
2020-02-13 09:56:00
阅读次数:
71
Java小项目之:小说阅读器 今天带来的java项目是一款阅读器,老少皆宜,适合练手。 代码展示: package com; import javax.swing.JOptionPane; public class Scroll { private int n; private int size; ...
分类:
编程语言 时间:
2020-02-11 16:06:38
阅读次数:
61
Java中的多线程是一种抢占式的机制,而不是分时机制。抢占式的机制是有多个线程处于可运行状态,但是只有一个线程在运行。 共同点 : 1. 他们都是在多线程的环境下,都可以在程序的调用处阻塞指定的毫秒数,并返回。 2. wait()和sleep()都可以通过interrupt()方法 打断线程的暂停状 ...
分类:
编程语言 时间:
2020-02-10 22:47:50
阅读次数:
91
1.Thread的终止 首先,不建议使用Thread类的stop方法,因为会强制释放线程使用的资源,例如锁、文件等,会出现令人意想不到的问题。Java中Thread类提供了interupt方法来设置线程的中断标志位使线程停止,但是interrupt方法并不是万能的,只能在有限的情况下中断线程: 线程 ...
分类:
编程语言 时间:
2020-02-08 00:28:14
阅读次数:
73
1 import java.io.IOException; 2 import java.util.concurrent.ExecutorService; 3 import java.util.concurrent.Executors; 4 import java.util.concurrent.Ti ...
分类:
编程语言 时间:
2020-01-31 20:53:34
阅读次数:
1083
一、线程中断 中断可以理解为一个线程的标志位,与线程中断有关的方法 + interrupt方法 Thread类的实例方法:中断被调用线程,实际上只是改变了被调用线程 的内部中断状态, ==并不会中断线程== 必须注意API中的这一段描述 If this thread is blocked in an ...
分类:
其他好文 时间:
2020-01-28 13:50:23
阅读次数:
72