文档章节

多线程学习笔记(五)

scymore
 scymore
发布于 2016/08/30 13:50
字数 201
阅读 14
收藏 0

一 . suspend()与resume()方法的使用

        创建MyThread类

public class MyThread extends Thread {

            private long i = 0;

            public long getI() {
                return i;
            }

            public void setI(long i) {
                this.i = i;
            }

            @Override
            public void run() {
                while (true) {
                    i++;
                }
            }
        }

        创建调用类:

public class Test {
            public static void main(String[] args) {
                try {
                    MyThread myThread = new MyThread();
                    myThread.start();
                    Thread.sleep(2000);

                    myThread.suspend();
                    System.out.println(" the value of i = " + myThread.getI() + "and the time is : " + System.currentTimeMillis());

                    Thread.sleep(5000);
                    System.out.println(" the value of i = " + myThread.getI() + "and the time is : " + System.currentTimeMillis());

                    myThread.resume();
                    Thread.sleep(5000);

                    myThread.suspend();
                    System.out.println(" the value of i = " + myThread.getI() + "and the time is : " + System.currentTimeMillis());

                    Thread.sleep(5000);
                    System.out.println(" the value of i = " + myThread.getI() + "and the time is : " + System.currentTimeMillis());
                } catch (Exception e) {
                    e.printStackTrace();
                }

            }
}

        运行结果:

        

 

二 .   suspend()与resume()的缺点

        1 . 独占

             在使用suspend()与resume()方法时,如果使用不当,极易造成公共的同步对象的独占,使得其他线程无法访问公共同步对象

        2 . suspend()与resume()的缺点 --- 不同步

        

 

 

 

 

 

© 著作权归作者所有

scymore

scymore

粉丝 6
博文 34
码字总数 22032
作品 0
成都
程序员
私信 提问
Posix多线程编程学习笔记

Posix多线程编程学习笔记(一)—线程基础(1) http://blog.chinaunix.net/u/22935/showart_310711.html Posix多线程编程学习笔记(一)—线程基础(2) http://blog.chinaunix.net/u/2293...

晨曦之光
2012/04/13
238
0

hjimce算法类博文目录 个人博客:http://blog.csdn.net/hjimce 个人qq:1393852684 知乎:https://www.zhihu.com/people/huang-jin-chi-28/activities 一、深度学习 深度学习(七十)darknet...

hjimce
2016/01/24
0
0
java&javaweb学习笔记(汇总)

我的java&javaweb学习笔记(汇总) 笔记分为两大部分:javase和javaweb javase javaweb 笔记内容主要是对一些基础特性和编程细节进行总结整理,适合了解java基础语法,想进一步深入学习的人 gi...

brianway
2016/02/09
3.2K
2
一起学Python:多线程-共享全局变量

多线程-共享全局变量 运行结果: 列表当做实参传递到线程中 运行结果: 总结: 在一个进程内的所有线程共享全局变量,很方便在多个线程间共享数据 缺点就是,线程是对全局变量随意遂改可能造成...

祈澈姑娘
2017/11/28
0
0
python资料全集

python: 微信公众号开发小记——2.80端口上的服务 python: 微信公众号开发小记——3.接入三方登录 使用python编写一个壁纸网站的简单爬虫 python: python List 用法 Python 中各个时间复杂度...

d_watson
2016/04/15
185
0

没有更多内容

加载失败,请刷新页面

加载更多

视频如何加水印?

很多视频制作者的视频都被他人盗用过,为了防止自己的劳动成果被他人窃取,给视频加水印对于视频制作者来说,是一件非常重要的事情。那么下面分享一个手机给视频加水印的方法,一起来看看吧!...

白米稀饭2019
31分钟前
5
0
004-Envelop-基于Blockstack的文件传输dapp

本篇文章主要介绍基于Blockstack的文件传输工具; ####A-链接地址 官网地址:https://envelop.app/ Github地址:https://github.com/envelop-app ####B-特性: 1: Share private files easil...

Riverzhou
34分钟前
7
0
SpringCloud——声明式调用Feign

Feign声明式调用 一、Feign简介 使用Ribbon和RestTemplate消费服务的时候,有一个最麻烦的点在于,每次都要拼接URL,组织参数,所以有了Feign声明式调用,Feign的首要目标是将Java HTTP客户端...

devils_os
40分钟前
7
0
《JAVA核心知识》学习笔记 (22. 数据结构)

22.1.1. 栈(stack) 栈( stack)是限制插入和删除只能在一个位置上进行的表,该位置是表的末端,叫做栈顶 (top)。它是后进先出(LIFO)的。对栈的基本操作只有 push(进栈)和 pop(出栈...

Shingfi
45分钟前
6
0
你对AJAX认知有多少(1)?

AJAX(一) AJAX技术对于前段或者后端工程师来说,都是必不可缺的 那我们这几期都来细细品味一下AJAX的相关知识,直接上干货喽~ 1、什么是AJAX,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么...

理性思考
53分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部