java 多线程的简单问题 基础知识
发布网友
发布时间:2022-05-23 23:44
我来回答
共3个回答
热心网友
时间:2024-03-10 03:30
t=new Thread(this,name); 这句话 、
新建一个线程。。把自己和这个name作为参数传给他。。name你肯定明白。。你肯定是不明白那个this。。
那个this就是调用
NewThread(String threadname){
name =threadname;
t=new Thread(this,name);
System.out.println("New threa: "+t);
t.start();
}
这个构造方法创建的NewThread对象。。比如你在一个地方写
NewThread nt = new NewThread(“ds”);这样就会执行到这个构造方法里面去。。于是执行到这里后。。这里的this就是nt这个对象了。
thread类有一个构造方法接受一个Runnable类型和一个String类型的参数。。
启动通过这种方法创建的线程的话。。他会调用你传给他的Runnable里面的run方法。。
在你这里就是
public void run(){
try{
for(int i=5;i>0;i--){
System.out.println(name +": "+i);
Thread.sleep(1000);
}
}catch(Exception e){
System.out.println(name+"Interrupered");
}
System.out.println(name+" exiting.");
}
热心网友
时间:2024-03-10 03:30
Thread(Runnable target,String name)
Thread类的一个构造方法
使用实现了Runnable接口的类创建线程,并以name作为线程的名字
热心网友
时间:2024-03-10 03:31
t是一个线程对象,name是一个String对象用来保存线程名称
t=new Thread(this,name); //创建了当前的线程名为name 并把线程对象句柄赋予t
这里显然在开辟了线程空间
最后t.start开始线程
java 多线程的简单问题 基础知识
t=new Thread(this,name); 这句话 、新建一个线程。。把自己和这个name作为参数传给他。。name你肯定明白。。你肯定是不明白那个this。。那个this就是调用 NewThread(String threadname){ name =threadname;t=new Thread(this,name);System.out.println("New threa: "+t);t.start();} 这个构...
java中多线程的讲解及其应用
英文:Thread 每个正在系统上运行的程序都是一个进程。每个进程包含一到多个线程。进程也可能是整个程序或者是部分程序的动态执行。线程是一组指令的集合,或者是程序的特殊段,它可以在程序里独立执行。也可以把它理解为代码运行的上下文。所以线程基本上是轻量级的进程,它负责在单个程序里执行多任务。通常...
Java多线程问题总结?
(1)发挥多核CPU的优势 随着工业的进步,现在的笔记本、台式机乃至商用的应用服务器至少也都是双核的,4核、8核甚至16核的也都不少见,如果是单线程的程序,那么在双核CPU上就浪费了50%,在4核CPU上就浪费了75%。单核CPU上所谓的”多线程”那是假的多线程,同一时间处理器只会处理一段逻辑,只...
java 面试 什么是多线程
多线程是指一个应用程序同时执行多个任务,一般来说一个任务就是一个线程 ,而一个应用程序有一个以上的线程我们称之为多线程。补充内容 线程与进程的区别:进程(程序):是静态概念,一个class文件、一个exe文件 线程:是一个程序里面不同的执行路径 举例说明:public class ThreadTest {public static ...
浅谈Java多线程的同步问题
多线程的同步依靠的是对象锁机制 synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问 下面以一个简单的实例来进行对比分析 实例要完成的工作非常简单 就是创建 个线程 每个线程都打印从 到 这 个数字 我们希望线程之间不会出现交叉乱序打印 而是顺序地打印 先来看第一段代码 这里我们在...
java线程问题
要理解线程和进程的概念。那么就需要知道cpu,当然在此是单u,就只有一个cpu的理论。所谓的cpu 就如同人的大脑一样,人的大脑在某一个时刻很明显只能思考一件事情。所以cpu在某一个时刻只能执行一个进程,而进程是有多个线程单元构成的,所以在某一个时刻只能执行一个线程。那么只能执行一个的话,那么...
JAVA 的线程这块咋整啊,咋也学不明白啊~~
利用Java语言实现多线程应用程序的方法很简单。根据多线程应用程序继承或实现对象的不同可以采用两种方式:一种是应用程序的并发运行对象直接继承Java的线程类Thread;另外一种方式是定义并发执行对象实现Runnable接口。 继承Thread类的多线程程序设计方法 Thread 类是JDK中定义的用于控制线程对象的类,在该类中封装了用于...
java多线程的问题为何输出结果只有一个?
1、主要是tt.join的问题。2、当子线程开启后,主线程和子线程是并发或并行执行的,会多线程输出。但是tt.join是指将tt线程与主线程(即tt.join这段代码所运行时候的线程)合并,即等tt.join运行完后执行刚刚的主线程。而你的tt线程中的run()方法为:while(true)所以tt.join之后,tt一直在运行,故...
Java线程的知识要点?
(1)一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。(2)资源分配给进程,同一进程的所有线程共享该进程的所有资源。(3)处理机分给线程,即真正在处理机上运行的是线程。(4)线程在执行过程中,要协作同步。不同进程的线程间要利用消息通信的办法实现同步。简单来说:1...
关于JAVA多线程interrupt sleep的问题
interrupt 是打断。只有阻塞的线程被打断了,才会,报这个异常。如:其他前程要stop这个线程。如系统直接exit了。才会发生通知。就是告诉你不要在等了,只有线程阻塞了(sleep或wait吧大概)才有可能被打断。所以系统才要你处理这个异常。另外多线程输出是每次都有可能不一样。执行看CPU的。