首页 > 软件资讯 > 正文

java多线程的应用,java多线程的情况下如何进行调试?

2020-05-20 09:39:50  来源:http://www.capsicumpm.com  编辑:admin

用JAVA语言编写求解一元多次方程(如一元一次,一元二次和一元高次方程)的解的应用程序。

你好好看看Math相关的api本回答被提问者采纳

java多线程的应用

你的问题是因为线程分配的不确定性,及你的设计思路引起的。我给你改了两个类,你看一下。import java.util.ArrayList;import java.util.List;public class Storage {private List<Integer> list = null;private int index = 0;public Storage() {list = new ArrayList<Integer>();}public synchronized void setNum(int num) {list.add(num);}public synchronized int GetNum() {if (index == list.size()) {return -1;}return list.get(index++);}}public class Printer extends Thread {Storage s;private int len = 10;public Printer() {}public Printer(String str) {super(str);}public Printer(String str, Storage s, int len) {super(str);this.s = s;this.len = len;}public void run() {int index = 0;System.out.println("读数器线程开始运行");while (true) {synchronized (this) {int value = s.GetNum();if (value != -1) {System.out.println("计数器当前的值为:" + value);index++;}if (index == len) {break;}try {sleep(50);} catch (InterruptedException e) {e.printStackTrace();}}}System.out.println("读数器线程结束运行");}}因为线程分配的不确定性,所以打印的结束条件就不能用固定循环来控制。应该其它的条件来终目循环。取数也一样,存和取的时间顺序都不固定,所以还是放到一个有序的集合中,通过取值索引来取值。

Java 7多线程应用程序开发 人民邮电出版社pdf

你说的这本书,我在网上收了下,好像没有,可能提供的信息不准确。我给你分享了一本书《java并发编程实践》,也是讲的java并发编程,应该来说,是一本学习java并发编程的经典书籍,是老外写的,国人翻译的。

java的 多线程应用 加锁解锁,使用多线程应当注意什么

1,加锁和解锁就是把一段代码括起来,也可以说是同步,2,一般需要加锁的代码涉及到了共享数据,如果多个线程都开始执行这段代码那么就会出现异常结果,3,给这段代码开始和结尾加锁以后这段代码只能有一个线程进来,数据就安全了,比如下面这段代码,int i = 100;if( i > 0) { System.out.println( i -- );}假如这里有4个线程执行这段代码,结果就可能出现负数,因为 i = 1的时候,假如线程1枪到了CPU的执行权,执行到了System.out.println( i -- );这里,但是还没有执行,这时候线程2抢到了执行权,因为 i 还没有进行自减,所以线程2也执行到了System.out.println( i -- );这句话,这时候无论谁先执行,i 就等于0了,再次执行的话就出现了负数,

大数据应用工程师就是学习电脑编程的吗?

大数据应用工程师是做大数据开发的,主要的工作是负责搭建大数据应用平台以及开发分析应用程序,也属于程序员的范畴。大数据需要学习的技术知识:基础部分为java语言和linux操作系统;大数据相关技术部分为hadoop、hive、hbase、oozie、flume、python、redis、kafka、scala、spark、ELK、flink等。