java多线程中嵌套多线程(JAVA多线程嵌套问题,A里开B,若把A关闭,B呢)

本文目录
JAVA多线程嵌套问题,A里开B,若把A关闭,B呢
b仍然运行。
像这种问题,学习最好的办法是自己做一个简单实验, 这样可以大大提高你的代码水平,我就是这样过来的,
希望楼主进步. java其实很容易
public class AWTest {
boolean f=true;
public AWTest(){
frame=new Frame("测试程序 按ESC键退出");
frame.setSize(width, height);
frame.setBackground(Color.GRAY);
canvas=new TheCanvas(width,height,this);
frame.add(canvas);
frame.pack();
frame.setVisible(true);
f=true;
Thread t1=new Thread(
new Runnable(){
public void run() {
new Thread(
new Runnable(){ public void run() { while(true){ System.out.println("我是第二个线程,我一直在运行"); } } }).start();
while(f){ System.out.println("我是第一个线程我,一直在运行");
}
}}
);
t1.start();
try {
Thread.sleep(3000);
f=false;//关闭t1
} catch (InterruptedException e) {
e.printStackTrace();
}
}
public static void main(String args) {
new AWTest();
}
}
另外,楼的想问什么id,我估计你是上次问怎么管理很多线程的那个人吧
这样:
你要用个hashtable来存所有线程地象
每生成一个线程就把它可存到哈希表中。哈希表需要一个id做主键,
你知道id的话就能从表中把线程实例找回来,把线程的停止标志位改变就行了
设Runnable对象中有标志位flag=true;
java多线程如何创建多个多线程
Java 多线程的同步依靠的是对象锁机制,这个问题需要我们不断的学习相关的问题。下面我们就来详细的学习下如何才能更好的进行具体内容的使用。synchronized关键字的背后就是利用了封锁来实现对共享资源的互斥访问。
下面以一个简单的实例来进行对比分析。实例要完成的工作非常简单,就是创建10个线程,每个线程都打印从0到99这100个数字,我们希望线程之间不会出现交叉乱序打印,而是顺序地打印。
先来看第一段代码,这里我们在run()方法中加入了synchronized关键字,希望能对run方法进行互斥访问,但结果并不如我们希望那样,这是因为这里synchronized锁住的是this对象,即当前运行线程对象本身。 Java 多线程代码中创建了10个线程,而每个线程都持有this对象的对象锁,这不能实现线程的同步。
Java多线程代码如下
1.package com.vista;
2.class MyThread implements java.lang.Runnable
3.{
4.private int threadId;
5.public MyThread(int id)
6.{
7.this.threadId = id;
8.}
9.@Override
10.public synchronized void run()
11.{
12.for (int i = 0; i 《 100; ++i)
13.{
14.System.out.println("Thread ID: " + this.threadId + " : " + i);
15.}
16.}
17.}
18.public class ThreadDemo
19.{
20./**
21.* @param args
22.* @throws InterruptedException
23.*/
24.public static void main(String args) throws InterruptedException
25.{
26.for (int i = 0; i 《 10; ++i)
27.{
28.new Thread(new MyThread(i)).start();
29.Thread.sleep(1);
30.}
31.}
32.}
以上就是对Java多线程的详细代码介绍。
java套接字编程中的多线程问题,求助
将代码复制到Eclipse中,将项目编码改为GBK,应该你说功能没啥问题。
运行界面

更多文章:
数据库管理系统和数据库系统分别侧重(数据库,数据库管理系统,数据库系统,这三个分别是什么意思并举个实例)
2026年9月7日 17:00
springmvc的依赖(springMVC的注入方式有哪几种,这与springMVC依赖)
2026年9月7日 14:00
display flex 自动换行(overflow-y:hidden;overflow-x:auto;无效解决方法)
2026年9月7日 11:00
timestamp without time zone(Postgresql中to_date()函数使用问题)
2026年9月7日 09:40






