并发编程
BadgeZ
越努力,越幸运。
展开
-
有状态和无状态的servlet
有状态和无状态的Servlet无状态Servletpackage zzhq;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;public class Test1Servlet...原创 2018-10-22 14:39:56 · 448 阅读 · 1 评论 -
静态同步synchronized方法与synchronized(class)代码块(菜鸟玩线程)
静态同步synchronized方法与synchronized(class)代码块理论synchronized还可以应用在static静态方法上,如果这样写,那是对当前的*.java文件对应的Class类进行持锁。synchronized关键字加到static静态方法上是给Class类上锁,而synchronized关键字加到非static静态静态方法上是给对象上锁。一个是对象锁,另外一...原创 2018-11-08 14:30:42 · 214 阅读 · 0 评论 -
synchronized验证3个理论(菜鸟玩线程)
synchronized验证3个理论1.论证11.1理论当多个线程同时执行synchronized(非this)同步代码块时呈同步效果。1.2落地1.2.1自定义锁对象类package com.chapter02.thread2_2_8_1;public class MyObject {}1.2.2自定义共享变量类package com.chapter02.thread2_2...原创 2018-11-08 11:52:55 · 215 阅读 · 0 评论 -
synchronized将任意对象作为对象监控器(菜鸟玩线程)
将任意对象作为对象监控器多线程调用同一个对象中的不通名称的synchronized同步方法或synchronized(this)同步代码块时,调用的效果就是按顺序执行,也就是同步的,阻塞的。(1.1)理论:synchronized(非this)…锁非this对象具有一定的有优点:如果一个类中有很多个synchronized方法,这时虽然能实现同步,但会受到阻塞,所以影响运行效率;但如果使用同...原创 2018-11-08 11:12:24 · 302 阅读 · 0 评论 -
synchronized同步方法(菜鸟玩线程)
synchronized同步方法方法内的变量是线程安全的实验1:共享变量类package com.chapter02.thread1;public class HasSelfPrivateNum { public void addI(String username) { int num = 0; try { if (use...原创 2018-11-05 16:55:43 · 322 阅读 · 0 评论 -
线程优先级(菜鸟玩线程)
线程的优先级在操作系统中,线程可以划分为优先级,优先级较高的线程得到的CPU资源较多,也就是CPU优先执行优先级较高的线程对象中的任务。设置线程的优先级使用setPriority()方法。线程优先级的继承特性线程的优先级具有继承性,比如A线程启动B线程,则B线程的优先级与A是一样的。线程优先级的规则性高优先级总是大部分先执行完,但不代表高优先级的线程全部先执行完。且线程的优先级与代码...原创 2018-11-05 15:20:39 · 209 阅读 · 0 评论 -
synchronized一半同步一半异步(菜鸟玩线程)
synchronized一半同步一半异步论证不在synchronized块中就是异步执行,在synchronized块中就是同步执行。示例自定义共享类package com.chapter02.thread4;public class Task { public void doLongTimeTask() { for (int i = 0; i < 10...原创 2018-11-07 11:39:15 · 674 阅读 · 2 评论 -
synchronized方法与语句块(菜鸟玩线程)
synchronized方法与语句块弊端凸显定义共享变量实例类package com.chapter02.thread3;public class Task { private String getData1; private String getData2; synchronized public void doLongTimeTask() { ...原创 2018-11-07 11:14:27 · 178 阅读 · 0 评论 -
锁对象的改变(菜鸟玩线程)
锁对象的改变理论在将任何数据类型作为同步锁时,需注意的是,是否有多个线程同时持有锁对象,如果同时持有相同的锁对象,则这些线程之间就是同步的;如果分别获得锁对象,这些线程之间就是异步的。示例自定义共享变量类package com.chapter02.thread2_2_16;public class MyService { private String lock = "123"...原创 2018-11-09 14:55:24 · 199 阅读 · 0 评论 -
脏读(菜鸟玩线程)
脏读脏读一定会出现在操作实例变量的情况下,这就是不同线程”争抢“实例变量的结果。脏读示例定义共享变量实例类package com.chapter02.dirtyRead;public class PublicVar { public String username = "A"; public String password = "AA"; //添加synchr...原创 2018-11-06 15:14:27 · 540 阅读 · 0 评论 -
yield方法(菜鸟玩线程)
yield方法作用是放弃当前的CPU资源,将它让给其他的任务去占用CPU执行的时间,但是放弃的时间不确定,有可能刚刚放弃,马上获得CPU时间片。代码如下:自定义线程类1 MyThread1——不使用yieldpackage com.thread12;public class MyThread extends Thread { @Override public void r...原创 2018-11-03 14:55:45 · 795 阅读 · 0 评论 -
暂停线程(菜鸟玩线程)
暂停线程暂停线程,即线程还可以恢复运行。Java多线程中,可以使用suspend()方法停止线程,使用resume()方法恢复线程的执行。suspend与resume方法的使用直接上代码:自定义线程类package com.thread9;public class MyThread extends Thread { private long i; public l...原创 2018-11-03 14:38:15 · 238 阅读 · 0 评论 -
synchronized数据类型String的常量池特性(菜鸟玩线程)
synchronized数据类型String的常量池特性在JVM虚拟机中有String常量池缓存的功能,将synchronized(String)同步块与String联合起来使用时,注意常量池带来的一些例外。示例自定义共享变量类package com.chapter02.thread2_2_10;public class Service { public static void ...原创 2018-11-08 15:03:01 · 473 阅读 · 0 评论