多线程问题,附线程关闭主线程也跟着关闭~~

问题描述

staticclassProgram{///<summary>///应用程序的主入口点。///</summary>[STAThread]staticvoidMain(){//这里新启一个线程Threadthread=newThread(newParameterizedThreadStart(mainThreadStart));thread.IsBackground=true;thread.Start();//这里为主线程,运行窗体Application.EnableVisualStyles();Application.SetCompatibleTextRenderingDefault(false);Application.Run(newMainForm());}privatestaticvoidmainThreadStart(objectobj){Client.SocketRelated.MainSendms=newClient.SocketRelated.MainSend();ms.BeginSend("127.0.0.1",5656,"测试数据");}}

解决方案

解决方案二:
你想说什么?
解决方案三:
麻烦有人知道的帮个忙,急啊~~
解决方案四:
引用1楼netteans的回复:

你想说什么?

就是想说当附线程结束后主线程不会跟着退出

时间: 2024-12-10 21:17:07

多线程问题,附线程关闭主线程也跟着关闭~~的相关文章

安卓,子线程获取网络图片,发消息给主线程,主线程用图片填充listview,出错

问题描述 安卓,子线程获取网络图片,发消息给主线程,主线程用图片填充listview,出错 先上logcat: 我的xml布局就是一个按钮,和一个listview,listview里就一个imageview,按下按钮开始从网络获取图片,然后发消息到主线程,然后listview就填充数据.xml代码就不贴了. 以下是mainactivity public class MainActivity extends AppCompatActivity implements View.OnClickList

子线程和主线程业务依次执行循环50次

子线程业务:循环10次 主线程业务:循环20次 这两个循环(业务)需要交替执行共50次 要用到共同数据的(包括同步锁)或共同算法(加密解密)的若干个方法应该归在同一个类上,这种设计正好体现了高内聚和程序的健壮性  while (bShouldSub) {                 try {                     this.wait();                 } catch (InterruptedException e) {                 

java在一个主线程中开了很多小线程,当主程异常后,希望能关闭这些服务用的小线程,以免冲突。该怎么做

问题描述 java在一个主线程中开了很多小线程,当主程异常后,希望能关闭这些服务用的小线程,以免冲突.该怎么做 我是这样写的: thread mainThread(){ while(true){ init; try{ new serverThread1; ... new serverThread2; ... ... }catch(e){ ... if(flag_exit)break; ... } } } 通常,这个主线程会经常遇问题,所以会抛出异常,因为有while(true),它会从头开始运行

多线程同步-主线程等待所有子线程完成案例

http://blog.csdn.net/qiujuer/article/details/34862469 有时候我们会遇到这样的问题:做一个大的事情可以被分解为做一系列相似的小的事情,而小的事情无非就是参数上有可能不相同而已! 此时,如果不使用线程,我们势必会浪费非常多的时间来完成整个大的事情,而使用线程的话将会存在这样的问题: 主线程启动所有子线程并发执行后主线程就直接返回了,导致外部函数判读整个大的事情完成了,但是实际上并没有完成! 针对以上情况我想我会采用多线程方式执行同时解决主线程等待

Android任意时刻从子线程切换到主线程的实现

引入 在Android开发中常常会遇到网络请求,数据库数据准备等一些耗时的操作:而这些操作是不允许在主线程中进行的.因为这样会堵塞主线程导致程序出现未响应情况. 所以只能另起一个子线程进行这些耗时的操作,完成后再显示到界面.众所周知,界面等控件操作只能在主线程中完成:所以不可避免的需要从子线程切换到主线程. 方法 对于这样的情况在Android 中比较常见的是使用AsynTask类或者 Handler来进行线程切换:而其中AsynTask是官方封装的类,较为简单,效率也比较可以,但是并不适合所有

多线程执行完主线程不退出

问题描述 用BlockingQueue 做了一个多线程的程序, 每个线程都已经执行完run方法(通过print显示已经执行完run), 并且在主线程里做了一个for循环来判断几个线程的状态, 得到他们都已经是TERMINATED状态,但是主线程就是不能自己结束. 其中一个线程(生产者)用了spring来得到数据库资源. 有多线程经验的兄弟帮帮我,十分感谢. 不知道问题是否描述清楚 问题补充:limengchengg 写道 解决方案 BlockingQueue 读取数据有四种方法吧其中有一种是阻塞

Android中主线程与子线程之间相互通信教程

有时候,我们也可能碰到这样子的一种需求:需要主线程来向子线程发送消息,希望子线程来完成什么任务.如果这样子应该怎么做呢?这就是这篇文章将要讨论的内容. 一.HandlerThread类 主线程发送消息给子线程,通常思维逻辑就是:其实很简单,在主线程中实例化一个Handler,然后让他与子线程相关联(只要它与子线程的Looper相关联即可),这样子它处理的消息就是该子线程中的消息队列,而处理的逻辑都是在该子线程中执行的,不会占用主线程的时间.那么我们就来实现一下,看看这样子到底行得通还是行不通.新

java编程中主线程子线程交替问题分析

问题:子线程循环 10 次,接着主线程循环 100 次,接着又回到子线程循环 10 次,接着再回到主线程又循环 100 次,如此循环50次. 分析:这个实际上是很简单的问题,即子线程run,主线程阻塞--->子线程阻塞,主线程run,能够使线程阻塞的方法有很多,最常见的是sleep与wait:当然,需要控制的话,用wait/notify.子线程与主线程共同操作一个Resource 对象,而Resource对象中由两个方法分别实现子线程与主线程的操作对象 代码如下: package treadga

windows主线程如何等待子线程结束

问题描述 windows主线程如何等待子线程结束 我在主线程中起了多个子线程,想等所有子线程结束主线程再继续做后面的事情. 但是我自起子线程的函数下面用WaitForMultipleObjects等待所有子线程结束,会阻塞主线程导致程序无反应死掉. 请各位大侠帮忙看下应该如何处理? 解决方案 WaitForMultipleObjects 确实会阻塞主线程的,不想阻塞主线程就只能自己实现,使用事件或者其它类似的机制. 系统没有现成的,只能自己使用线程间通讯的机制来实现. 解决方案二: MsgWai