- 浏览: 74839 次
- 性别:
- 来自: 深圳
文章分类
最新评论
/* 需求:银行有一个金库。 有两个储户分别存300元,每次存100,存3次 目的:该程序是否有安全问题,如果有,如何解决。 如何找问题: 1.明确哪些代码是多线程运行代码 2.明确共享数据 3.明确多线程运行代码中哪些语句是操作共享数据的 */ class Banka{ private int sum; public sychronized void add(int n){ sum += n; try{ Thread.sleep(10); } catch(Exception e){ } System.out.println("sum = "+sum); } } class cus implements Runnable{ private Bank b = new Bank(); public void run(){ for(int x=0;x<3;x++){ b.add(100); } } } class Bank{ public static void main(String[] args){ Cus c = new Cus(); Thread t1 = new Thread(c); Thread t2 = new Thread(c); t1.start(); t2.start(); } }
同步函数,多个线程都需要操作的函数,加上sychronized。
发表评论
-
151多线程(优先级&yield方法)
2015-10-28 11:16 661/* 养成习惯:数据共享用静态 */ class Dem ... -
150_多线程(Join方法)
2015-10-27 18:31 568/* join: 当A线程执行到了B线程的join方法 ... -
114_面向对象(多异常处理)_黑马程序员_Java基础视频
2015-10-25 23:27 661/* 对多异常的处理 1.生命异常时,建议声明更为具体的异 ... -
113_面向对象(异常声明throws)_黑马程序员_Java基础视频
2015-10-25 23:26 449/* 异常:就是程序在运行时出现不正常情况 异常由来:问题 ... -
112_面向对象(异常try-catch)
2015-10-25 23:25 704/* 异常:就是程序在运行时出现不正常情况 异常由来:问题 ... -
148_多线程(停止线程)
2015-10-25 23:16 550/* stop方法已经过时。 如何停止线程? 只有一 ... -
147_多线程(线程间通信-生产者消费者JDK5.0升级版)
2015-10-21 23:33 717/*JDK1.5及以上提供了多线程升级解决方案。 将同步Sy ... -
146_多线程(线程间通信-生产者消费者)
2015-10-20 23:35 599一个生产者一个消费者 ... -
144_多线程(线程间通信-等待唤醒机制)
2015-10-20 18:35 696class Res{ String name; Str ... -
142_多线程-线程间通信
2015-10-20 16:18 665/* 线程间通讯: 其实就是多线程在操作同一个资源。 但 ... -
141多线程-死锁
2015-10-20 14:45 654/* 死锁: 同步中嵌套同步 */ class T ... -
140_多线程(多线程-单例设计模式-懒汉式)
2015-10-19 11:45 636/* 单例设计模式 饿汉式 class Single ... -
138_多线程(多线程-同步函数的锁是this)
2015-10-15 14:48 813/* 同步函数用的是哪一个锁呢? 函数需要被对象调用。那么 ... -
135_多线程(多线程的安全问题)
2015-10-13 18:07 584class TWindow implements Runnab ... -
多线程(创建线程-实现Runnable接口)
2015-10-10 00:19 521class TWindow implements Runnab ... -
133_多线程(售票的例子)
2015-10-09 23:48 601/* 需求:简单的买票程序 多个窗口卖票 */ c ... -
132_多线程(获取线程对象以及名称)
2015-10-09 23:30 1186/* 练习:创建两个线程,和主线程交替运行 线程都有自 ... -
多线程-继承Thread类
2015-10-09 00:26 1527/* 进程:是一个正在执行中的程序 每一个进程执行都有一个 ... -
包的应用
2015-10-08 23:28 1638package pack; class PackageD ... -
异常总结
2015-10-05 20:07 547异常是什么? 是对问题的描述,将问题进行对象的封装。 ...
相关推荐
感觉多线程确实麻烦,线程间要处理好同步与通讯,如果用CWinThread好一点,直接是一个线程对象,如果用AfxBeginThread,那必须定个全局函数,或者写个静态函数,一般是传个this指针进去,然后再用这个指针调用本类...
CTP是上期技术推出的综合交易平台,见百科,官方API为C++语言接口。 本软件为Java版CTP接口,支持平台: ... 多线程支持 同步API支持,见样例TraderInfo. CTP 接口开发文档见: http://pan.baidu.com/s/1gdmm5KR
CTP是上期技术推出的综合交易平台,见百科,官方API为C++语言接口。 本软件为Java版CTP接口,支持平台: Windows 32bit, CTP V6.2.5_201403271045 ... 多线程支持 同步API支持,见样例TraderInfo.
10_多线程-同步代码块-同步方法 11_多线程-生产消费问题 12_多线程-死锁问题 13_字符集问题' X4 e; v9 q' U2 W% f" l7 f$ F 14_String-StringBuffer-StringBuilder 15_集合-list-arrayList-linkedlist 16_集合-...
Java多线程机制 9.1 Java中的线程 9.2 Thread的子类创建线程 9.3 使用Runable接口 9.4 线程的常用方法 9.5 GUI线程 9.6 线程同步 9.7 在同步方法中使用wait()、notify 和notifyAll()方法 9.8 挂起、恢复和终止线程 ...
即时显示有界缓冲区的全部内容,当前指针位置和生产者/消费者线程的标识符.(2)生产者和消费者各有两个以上.(3)多个生产者或多个消费者之间须有共享对缓冲区进行操作的函数代码. .c文件是用vi编辑器写的,utf-8和gb...
这是陈硕在 2009 年上海 C++ 技术大会演讲《当析构函数遇到多线程》的 PPT 投影片,可自由用于个人学习,其他使用需得到作者许可。 简介:编写线程安全的类不是难事,用同步原语保护内部状态即可。但是对象的生与死...
示例代码展示了如果在windows实现多线程的同步,如何在多核CPU上开辟多个线程同时运行。
本文源自我在 2009 年 12 月上海 C++ 技术大会的一场演讲《当析构函数遇到多线程》,内容略有增删。原始 PPT 可从 http://download.csdn.net/source/1982430 下载。 本文读者应具有 C++ 多线程编程经验,熟悉互斥器...
采用多线程技术,使用CreateThread WaitForMultipleObjects函数等,实现了5个人赛跑比赛的模拟,并统计比赛结果。是一个比较好的多线程的演示。
有界缓冲区内设有20个存储单元,放入/取出的数据项设定为1~20这20个整型数。 1.每个生产者和消费者对有界缓冲区进行操作后,即时显示有界缓冲区...3.多个生产者或多个消费者之间须共享对缓冲区进行操作的函数代码。
所以,互斥锁实质上是操作系统提供的一把“建议锁”(又称“协同锁”),建议程序中有多线程访问共享资源的时候使用该机制。但,并没有强制限定。 因此,即使有了mutex,如果有线程不按规则来访问数据,依然会造成...
本文源自陈硕在 2009 年 12 月上海 C++ 技术大会的一场演讲《当析构函数遇到多线程》,内容略有增删。原始 PPT 可从 http://download.csdn.net/source/1982430 下载。 本文读者应具有 C++ 多线程编程经验,熟悉互斥...
线程同步 多线程同时读写同⼀份共享资源的时候,可能会引起冲突。需要引⼊线程"同步"机制,即各位线程之间有序地对共享资源进⾏操 作。 #include <pthread.h> using namespace std; queue<int> q; void *pop(void* ...
包括利用Wm32 API创建、利用运行时库函数创建和利用MFC中的全局函数创建,同时比较了不同创建方法的异同:第4章介绍了线程之间进行通信的方法,包括参数传递法、全局变量法、消息响应法以及线程同步法;第5章至第8章,...
多线程操作实例源码 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指...
三、还有一种用信号量对象来管理线程同步的,它是在互斥的基础上建立的,但信号量增加了资源计数的功能,预定数目的线程允许同时进入要同步的代码。有点复杂,想不到在哪可以用,现在就不研究论了。 unit Tst_...
用多线程同步方法解决读者写者问题(Reader-Writer Problem) ,设有20个连续的存储单元,写入/读出的数据项设定为1~20这20个字符。 要求; (1) 每个读者/写者对该存储区进行操作后,即时显示该存储区的全部内容、当前...