在java中实现多线程有两种方法
1)继承Thread类
2)实现Runnable接口
..............................
看代码
- class MultiThread
- {
- public static void main(String[] args)
- {
- Thread mte=new Thread(new MyThreadEx());
- mte.start();
- Thread mti=new Thread(new MyThreadIm());
- mti.start();
- System.out.println("Main Thread name is:"+Thread.currentThread().getName());
- }
- }
- //继承Thread类
- class MyThreadEx extends Thread
- {
- public MyThreadEx()
- {
- }
- public void run()
- {
- System.out.println("extends Thread");
- }
- }
- //实现Runnable接口
- class MyThreadIm implements Runnable
- {
- public MyThreadIm()
- {
- }
- public void run()
- {
- System.out.println("implements Runnable");
- }
- }
-----------------------------------------------------------------------------------------------------------------
而在C#中,系统已经为我们写好委托,方法体可以由我们自己来自由地实现,
而C#里线程又分两种,1)带参数的和2)不带参数的
事实上,C#细分的话,带参数的和不带参数的都分别一个重载方法,所以加起来共四个
看MSDN:
Thread (ParameterizedThreadStart) | 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托。 |
Thread (ThreadStart) | 初始化 Thread 类的新实例。
由 .NET Compact Framework 支持。 |
Thread (ParameterizedThreadStart, Int32) | 初始化 Thread 类的新实例,指定允许对象在线程启动时传递给线程的委托,并指定线程的最大堆栈大小。 |
Thread (ThreadStart, Int32) | 初始化 Thread 类的新实例,指定线程的最大堆栈大小。
由 .NET Compact Framework 支持。 |
..............................
再看代码实现
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Threading;
- namespace ThreadTest
- {
- class Program
- {
- static void Main(string[] args)
- {
- //不带参数的线程实现
- Thread thdNoparam = new Thread(new ThreadStart(NoParamsMethod));
- thdNoparam.Start();
- //带参数的线程实现
- Thread thdParam = new Thread(new ParameterizedThreadStart(ParamsMethod));
- thdParam.Start("Thread implement with params !");
- }
- //方法的实现
- static void NoParamsMethod()
- {
- Console.WriteLine("Thread implement with no params !");
- }
- //方法的实现
- static void ParamsMethod(object obj)
- {
- //do something with obj
- Console.WriteLine(obj.ToString());
- }
- }
- }
-----------------------------------------------------------------------------------------------------------------
各有各的特点
相关推荐
Java 与C# 是现扣今网络开发的两大主要平台,而多线程编程则是进行并行处理计算中的基础,本文主要阐述了在Java 与C#开发平台下如何进行多线程编程的方法及注意事项,并且比较和分析两种开发平台下进行多线程编程的...
C#是微软随着 VS.net 新推出的一门语言。它作为一门新兴的语言,有着 C++的强健,又有 着 VB 等的 RAD 特性。...本文就向大家介绍一下 C#下实现套接字( Sockets)编程的一些基本知识,以期能 使大家对此有个大致了解。
多线程面试题
This book provides an introduction to writing concurrent ... The programming language used is C#, but most of the tutorial applies equally well to other languages with thread support, such as Java.
操作系统c++编程实现安全型双向链表,线程的创建,利用线程对链表进行增删改操作,并检验结果是否正确
本文实例讲述了C#解决SQlite并发异常问题的...但在C#中未提供类似功能。 作者利用读写锁(ReaderWriterLock),达到了多线程安全访问的目标。 using System; using System.Collections.Generic; using System.Text;
C#线程学习如同在Java中一样,在c#中写一个多线程应用是非常简单的,本章将介绍如何在c#种开发多线程程序。在.net中线程是由System.Threading 名字空间所定义的。所以你必须包含这个名字空间。
一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows...浏览器就是一个很好的多线程的例子,在浏览器中你可以在下载JAVA小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等。
C#多线程实验,就AutoResetEvent,ManualResetEvent,Thread.join(),委托多线程回调。
浏览器就是一个很好的多线程的例子,在浏览器中你可以在下载JAVA小应用程序或图象的同时滚动页面,在访问新页面时,播放动画和声音,打印文件等。 多线程的好处在于可以提高CPU的利用率——任何一个程序员都不希望...
这个是java开发的多线程断点续传下载demo,内有详细注释,是练习android多线程断点续传下载时写的测试demo,下面的android开发的多线程断点续传下载demo是基于这个移植过去的,使用java开发的可以参考这个。
C#中类的声明与C++和Java很相似。但是,不像C++,C#结构体 C# Project 与类是不支持继承多个父类。但是,与Java相同的是,一个结构体可以实现接口(interface)。Java的关键字import已经被替换成using,它起到了...
摘要:C#源码,系统相关,多线程,监视器 一个适合初学者参考学习的C#多线程监视器程序,创建3个线程,模拟多线程运行,并绑定TestRun方法,定义线程的绑定方法,在同步对象上获取排他锁,模拟做一些耗时的工作。
由三个类实现,写在了一个 Java 文件中:TaskDistributor 为任务分发器,Task 为待执行的任务,WorkThread 为自定的工作线程。代码中运用了命令模式,如若能配以监听器,用上观察者模式来控制 UI 显示就更绝妙不过了...
新浪论坛发贴机全套源码,C#.NET编写,基于底层Socket,实现了HTTP协议下的类HttpSocket,速度快,性能稳定。基于热门的新浪论坛演示发贴机的一般写法。威力强大,请只用来学习,勿用于商业用途。 友情提示:新浪...
WebSocket多线程视频通信
老师写的一个简单的打字游戏,运用了多线程开发,功能简单,适合初学者
它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run ...
JAVA,C#,C++语言的WINDOWS平台下进行多线程与多核编程的技术介绍
它由Sun Microsystems(现在是Oracle Corporation)的James Gosling等人在1995年推出,被设计为一种简单、健壮、可移植、多线程、动态的语言。Java的主要特点和优势包括以下几个方面: 跨平台性(Write Once, Run ...