「java根据线程找程序」java获取线程
本篇文章给大家谈谈java根据线程找程序,以及java获取线程对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、java 有关线程问题的程序
- 2、关于线程的JAVA程序例子
- 3、JAVA 多线程程序
- 4、java 根据线程名字查询一个线程,能实现吗?
- 5、如何使用Java编写多线程程序(1)
- 6、JAVA 线程程序
java 有关线程问题的程序
你这个问题是因为你将SimpleThread类建立在 类 aa1里边了...SimpleThread成了aa1的一个成员...main函数是一个静态函数(static),java中的静态函数只能访问静态的外部量,如果那个量不是静态的就会报那个错
解决的办法是将SimpleThread定义到aa1的外面去
关于线程的JAVA程序例子
1。这个out就是system.out,system.out得到的是PrintStream,是输出流。
2的问题代码太多,又没分懒的看。
3,synchronized是同步,就是给线程加锁,有人用的时候其他人不能用,防止数据混乱或者死锁。
4,执行wait线程挂起,当然要别的线程唤醒(notify)了。
JAVA 多线程程序
因为写错咯
t1、t2、t3三个变量都没有定义
然后 就算没有写错
也会出现运行期错误
因为能用“==”判断是否相等的,只有基本数据类型比如int,long,double等
你应该用compareTo、equils等方法
楼主,我的建议是,找个成功的线程样例去看
另外深入理解下面向对象的概念,了解类的结构
然后再来看线程吧
java 根据线程名字查询一个线程,能实现吗?
根据线程名称找到线程,在java中是可以实现的,实现步骤是:
1、首先获取Java VM中当前运行的所有线程
以下代码是用数组返回Java VM中当前运行的所有线程
public static Thread[] findAllThreads()
{
ThreadGroup group = Thread.currentThread().getThreadGroup();
ThreadGroup topGroup = group;
/* 遍历线程组树,获取根线程组 */
while ( group != null )
{
topGroup = group;
group = group.getParent();
}
/* 激活的线程数加倍 */
int estimatedSize = topGroup.activeCount() * 2;
Thread[] slackList = new Thread[estimatedSize];
/* 获取根线程组的所有线程 */
int actualSize = topGroup.enumerate( slackList );
/* copy into a list that is the exact size */
Thread[] list = new Thread[actualSize];
System.arraycopy( slackList, 0, list, 0, actualSize );
return (list);
}
2、遍历线程,比对名称,找到需要寻找的线程
以下代码可得到线程的名称
String name = thread.getName();
如何使用Java编写多线程程序(1)
一、简介1、什么是线程要说线程,就必须先说说进程,进程就是程序的运行时的一个实例。线程呢可以看作单独地占有CPU时间来执行相应的代码的。对早期的计算机(如DOS)而言,线程既是进程,进程既是进程,因为她是单线程的。当然一个程序可以是多线程的,多线程的各个线程看上去像是并行地独自完成各自的工作,就像一台一台计算机上运行着多个处理机一样。在多处理机计算机上实现多线程时,它们确实可以并行工作,而且采用适当的分时策略可以大大提高程序运行的效率。但是二者还是有较大的不同的,线程是共享地址空间的,也就是说多线程可以同时读取相同的地址空间,并且利用这个空间进行交换数据。 2、为什么要使用线程为什么要使用多线程呢?学过《计算机体系结构》的人都知道。将顺序执行程序和采用多线程并行执行程序相比,效率是可以大大地提高的。比如,有五个线程thread1, thread2, thread3, thread4, thread5,所耗的CPU时间分别为4,5,1,2,7。(假设CPU轮换周期为4个CPU时间,而且线程之间是彼此独立的)顺序执行需要花费1Array个CPU时间,而并行需要的时间肯定少于1Array个CPU时间,至于具体多少时间要看那些线程是可以同时执行的。这是在非常小规模的情况下,要是面对大规模的进程之间的交互的话,效率可以表现得更高。 3、java中是如何实现多线程的与其他语言不一样的是,线程的观念在java是语言中是重要的,根深蒂固的,因为在java语言中的线程系统是java语言自建的, java中有专门的支持多线程的API库,所以你可以以最快的速度写一个支持线程的程序。在使用java创建线程的时候,你可以生成一个Thread类或者他的子类对象,并给这个对象发送start()消息(程序可以向任何一个派生自 Runnable 接口的类对象发送 start() 消息的),这样一来程序会一直执行,直到run返回为止,此时该线程就死掉了。在java语言中,线程有如下特点:§ 在一个程序中而言,主线程的执行位置就是main。而其他线程执行的位置,程序员是可以自定义的。值得注意的是对Applet也是一样。 § 每个线程执行其代码的方式都是一次顺序执行的。 § 一个线程执行其代码是与其他线程独立开来的。如果诸线程之间又相互协作的话,就必须采用一定的交互机制。 § 前面已经说过,线程是共享地址空间的,如果控制不当,这里很有可能出现死锁。 各线程之间是相互独立的,那么本地变量对一个线程而言就是完全独立,私有的。所以呢,线程执行时,每个线程都有各自的本地变量拷贝。对象变量(instance variable)在线程之间是可以共享的,这也就是为什么在java中共享数据对象是如此的好用,但是java线程不能够武断地访问对象变量:他们是需要访问数据对象的权限的。二、准备知识 在分析这个例子之前,然我们先看看关于线程的几个概念,上锁,信号量,和java所提供的API。 上锁对于大多数的程序而言,他们都需要线程之间相互的通讯来完成整个线程的生命周期,二实现线程之间同步的最简单的办法就是上锁。为了防止相互关联的两个线程之间错误地访问共享资源,线程需要在访问资源的时候上锁和解锁,对于锁而言,有读锁,写锁和读写锁等不同的同步策略。在java中,所有的对象都有锁;线程只需要使用synchronized关键字就可以获得锁。在任一时刻对于给定的类的实例,方法或同步的代码块只能被一个线程执行。这是因为代码在执行之前要求获得对象的锁。 信号量通常情况下,多个线程所访问为数不多的资源,那怎么控制呢?一个比较非常经典而起非常简单的办法就是采用信号量机制。信号量机制的含义就是定义一个信号量,也就是说能够提供的连接数;当有一个线程占用了一个连接时,信号量就减一;当一个线程是放了连接时,信号量就加一。
JAVA 线程程序
首先
t1,t2,t3是work的静态函数main的局部变量。
myThread t1如何能调用一个非己的类的静态函数中的局部变量呢?
if(myThread.currentThread()==t1)
而且,写程序第一步是学会如何使用编辑器查看程序的问题。
这都没学会,就开始写多线程程序就是走都不会就想跑。
java根据线程找程序的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于java获取线程、java根据线程找程序的信息别忘了在本站进行查找喔。