`
pleasetojava
  • 浏览: 732823 次
  • 性别: Icon_minigender_2
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

线程的部分代码

阅读更多

把线程内容的部分代码摘录如下


packageThread;
//本例题展示了单线程的情况,输出结果只输出son.run();的执行情况
//sonmainson
//sonmainson
//sonmainson
//sonmainson
//

publicclassTestA...{
publicstaticvoidmain(String[]args)
...{
MyThreadson
=newMyThread();
son.run();
while(true)
...{
System.out.println(
"main"+Thread.currentThread().getName()+"main");
}

}

}

classMyThread
...{

voidrun()
...{
while(true)
...{
System.out.println(
"son"+Thread.currentThread().getName()+"son");
}

}


}


packageThread;
//本例实现了多线程,通过继承Thread实现
//mainmainmain
//mainmainmain
//mainmainmain
//mainmainmain
//mainmainmain
//mainmainmain
//mainmainmain
//sonThread-0son
//sonThread-0son
//sonThread-0son
//看到主线程和子线程交替执行

publicclassTestB...{
publicstaticvoidmain(String[]args)
...{
//MyThread2son=newMyThread2();
//son.start();
newMyThread2().start();//此处应用了匿名对象,和上述注释一样
while(true)
...{
System.out.println(
"main"+Thread.currentThread().getName()+"main");
}

}

}

classMyThread2extendsThread
...{

publicvoidrun()
...{
while(true)
...{
System.out.println(
"son"+Thread.currentThread().getName()+"son");
}

}


}



packageThread;


publicclassTestC...{
publicstaticvoidmain(String[]args)
...{
//MyThread2son=newMyThread2();
//son.start();
newMyThread3().start();//此处应用了匿名对象,和上述注释一样
while(true)
...{
System.out.println(
"main"+Thread.currentThread().getName()+"main");
}

}

}

classMyThread3extendsThread
...{

publicvoidrun()
...{
while(true)
...{
System.out.println(
"son"+Thread.currentThread().getName()+"son");
}

}


}




packageThread;
//本例展示了Join的应用
//tt.join()后,整个程序又变成了一个线程,因为把它加入到了主线程,所以当完成100以后,持续输出son
//tt.join(1000)后,程序持续运行son10秒,然后交替输出main和son
publicclassTestJoin...{
publicstaticvoidmain(String[]args)
...{
Threadtt
=newMyThreadJoin();
tt.start();
intcount=0;
while(true)
...{if(count++==1000)
//try{tt.join();}catch(Exceptione){}
try...{tt.join(10000);}catch(Exceptione)...{}//此处显示了加入10秒后,将交替输出main和son
System.out.println("main"+Thread.currentThread().getName()+"main");
}

}

}

classMyThreadJoinextendsThread
...{
publicvoidrun()
...{
while(true)
...{
System.out.println(
"son");
}

}

}





packageThread;
//该例展示了后台线程的运行情况,当主程序结束后,后台线程会及时终止
//如果不设置daemon,则线程会一直运行,虽然主程序main()已经结束
publicclassTestZ...{
publicstaticvoidmain(String[]args)
...{
Threaddog
=newth();
dog.setDaemon(
true);//dog设置为了后台线程
dog.start();
}

}


classthextendsThread
...{
publicvoidrun()
...{
while(true)
...{
System.out.println(
"ald");
}


}

}




packageThread;

publicclassErrorDemo...{

publicstaticvoidmain(String[]args)
...{
RRrrr
=newRRr();
newThread(rr).start();
newThread(rr).start();
newThread(rr).start();
newThread(rr).start();
}


}







classRRrimplementsRunnable
...{
intcount=100;
publicvoidrun()
...{

while(true)
...{

if(count>0)
...{
try...{Thread.sleep(10);}catch(Exceptione)...{}
System.out.println(Thread.currentThread().getName()
+"sisaling"+count--);
}

}

}

}



packageThread;

publicclassRunnableDemo...{
publicstaticvoidmain(String[]args)
...{
newThread(newR()).start();//注意此处的应用方式Thread的构造函数以R为参数,故调用R.run()
newThread(newR()).start();
newThread(newR()).start();
newThread(newR()).start();
while(true)
...{
System.out.println(
"main");
}

}

}

classRimplementsRunnable
...{
inttickets=100;
publicvoidrun()
...{
while(true)
...{
System.out.println(Thread.currentThread().getName()
+(tickets--));
http://images.csdn.net/syntax
分享到:
评论

相关推荐

    多线程测试代码多线程测试代码

    `std::thread`类是核心部分,可以创建新的线程并执行一个可调用对象。例如: ```cpp #include #include void thread_function() { // 线程执行的代码 } int main() { std::thread my_thread(thread_function)...

    Qt多线程测试代码

    在编程领域,尤其是在GUI(图形用户界面)应用中,多线程技术是非常关键的一个部分。Qt框架提供了一种高效且方便的方式来实现多线程,尤其是通过其内置的`QThread`类。`QThread`是Qt对C++标准库中的线程API的一种...

    易语言多线程开发框架.zip(更新1.1.3)

    部分代码是取自前辈们的,集合在一起只是方便大家使用! 请勿使用本模块编写有损他人利益的软件,造成的后果全部自负 .提示模块加固 需要安装易语言助手 https://e.125.la/ 推荐安装 .提示e2ee 需要安装e2ee支持库 ...

    Win32多线程程序设计全部代码

    在Windows平台上进行软件开发时,Win32 API是不可或缺的一部分,尤其在涉及到多线程编程时。本资源“Win32多线程程序设计全部代码”提供了完整的源代码示例,帮助开发者深入理解和实践如何在Win32环境下创建和管理多...

    C++线程池源代码

    在"无锁线程池"中,任务调度和线程管理的关键组件可能包括以下几个部分: 1. **任务队列**:无锁线程池的核心是任务队列,它使用原子操作(如CAS - Compare and Swap)来实现无阻塞的添加和删除任务。这种队列通常...

    c++线程类代码实现

    CThread类是本代码的核心部分,它实现了线程的各种操作。 ```cpp class CThread : public Runnable { private: explicit CThread(const CThread &rhs); public: CThread(); CThread(Runnable *pRunnable); C...

    C#多线程代码下载

    这个“多线程程序”示例将涵盖以上部分或全部知识点,通过分析和运行代码,你可以更直观地学习和理解多线程编程在C#中的应用。在实际开发中,合理使用多线程技术可以优化程序性能,提高用户体验。

    Java实现多线程下载源代码

    在Java编程领域,多线程下载是一种常见的优化技术,它能显著提高大文件下载的速度,通过将文件分割成多个部分并同时下载,充分利用了网络连接的带宽资源。本项目"Java实现多线程下载源代码"正是这样一个示例,它使用...

    C#多线程代码实例详解

    在编程领域,尤其是在高性能和高并发的应用中,多线程技术是不可或缺的一部分。C#作为.NET框架中的主要编程语言,提供了强大的多线程支持。本文将深入探讨C#中的多线程以及如何使用Mutex进行线程同步,以实现资源的...

    JAVA线程学习(源代码)

    并发控制是线程编程中的重要部分。Java提供了synchronized关键字来实现互斥访问,防止数据竞争。synchronized可以修饰方法或代码块,确保同一时间只有一个线程执行特定代码。此外,Java还提供了volatile关键字,保证...

    多线程程序设计源代码

    《多线程程序设计源代码》这一资源涵盖了两个主要部分,分别是侯捷翻译的《win32多线程程序设计》的源代码和《Windows多线程编程技术与实例》的源代码。这两个部分旨在帮助开发者深入理解并实践Windows平台上的多...

    多线程编程源代码

    通过在访问共享资源的代码前后锁定和解锁互斥量,可以确保任何时候只有一个线程在执行这部分代码,从而避免数据冲突。 4. **信号量同步**:信号量比互斥量更灵活,它允许一定数量的线程同时访问资源。例如,在多...

    JAVA实现多线程时钟代码程序

    `start()`方法会自动调用`run()`方法,这是线程执行的主要逻辑部分。 3. **线程同步与并发控制**:在多线程环境中,数据同步是非常重要的。Java提供了`synchronized`关键字,`wait()`, `notify()`, `notifyAll()`等...

    C#文件多线程复制代码

    在C#编程中,多线程技术是一种提升程序性能的有效手段,特别是在处理大量I/O操作如文件复制时。...通过参考提供的代码示例,开发者可以灵活应用这些概念和技术,实现自己的文件多线程复制解决方案。

    Java线程问题代码

    代码中出现了注释,比如“˼һ£ղŵĴе⣬鷳ٽһthis”,这些注释可能是原作者对于代码某个部分的理解或疑问的记录。例如,作者可能对`this`关键字在不同上下文中的含义感到困惑,尤其是在`printMsg()`方法中如何...

    java常用的代码——线程

    本文将从给定的文件标题、描述、标签以及部分内容出发,深入探讨Java中线程的相关知识点。 ### Java中的线程基础 #### 1. 什么是线程? 在计算机科学中,线程是指进程中的一个执行单元,它是进程内部的基本调度...

    java多线程下载源代码

    而多线程下载则是将文件分割成多个部分,每个部分由一个独立的线程负责下载,从而提高了下载速度和效率。 在Java中实现多线程下载,主要涉及到以下几个核心知识点: 1. **线程基础**:首先,你需要了解Java中的`...

    以前项目部分线程代码

    标题中的“以前项目部分线程代码”提示我们,这是一个关于多线程编程的代码片段,可能来自于某个实际的项目。在IT行业中,多线程是并发处理任务的关键技术,广泛应用于服务器端编程、桌面应用、游戏开发等多个领域。...

    JAVA项目——多线程下载代码

    在Java编程领域,多线程下载是一种常见的优化技术,它能显著提高大文件下载的速度,通过将文件分割成多个部分并行下载,充分利用了网络带宽。本项目以"JAVA项目——多线程下载代码"为主题,使用Eclipse集成开发环境...

    java多线程实例 代码可执行 绝对开源

    为了提高下载效率,可能将大文件分割为多个部分,每个部分由一个独立的线程负责下载,这就是所谓的“多线程下载”。 在下载过程中,线程间的协作至关重要。Java提供了多种同步机制,如synchronized关键字、wait()、...

Global site tag (gtag.js) - Google Analytics