标签: multitasking

按家时退出应用程序

我的测试,当我退出(通过按下主页按钮)我的应用程序时,由于多任务功能,它仍然在后台"运行".但是,我希望在按下主页按钮时退出.这只发生在我身上吗?

无论如何,我已将其跟踪到app委托中applicationWillResignActiveapplicationDidBecomeActive方法和方法.这些被称为多任务处理,但当我想终止时,应用程序"重新启动".非常感谢任何关于这个问题的指导!

cocoa-touch multitasking ios4 ios

4
推荐指数
1
解决办法
5059
查看次数

动态C/Rabbit上的Micrium uC-OS/II - 可能会导致任务缺乏

我想在Micrium uC-OS/II下的Dynamic C中运行2个任务.一个任务是http处理程序,另一个是从串行端口读取.串口任务似乎禁止http任务运行.任何想法为什么会这样?我认为uC-OS/II是优先考虑的.

void httptask(void* ptr)
{
 http_init();

 while(1) {
  http_handler();
 }
}

void gpstask(void* ptr) {

 int c;

 while (1) {
        c = serFgetc();
    }
}
Run Code Online (Sandbox Code Playgroud)

两个线程都设置为相同的默认优先级.

c embedded rtos multitasking micrium

4
推荐指数
1
解决办法
1038
查看次数

应用程序出现后如何刷新UITableView?

reloadData在用户退出应用程序后,我希望我的UITableView能够再次激活我的应用程序.我知道我需要实现(在我的app委托中):

- (void)applicationDidBecomeActive:(UIApplication *)application

但我不知道如何引用当前的UITableView?

更新:我的UITableView是一个单独的控制器.它实际上呈现如下

AppDelegate > Root View Controller > Pushes UITabBarController modally which has a UITableViewController
Run Code Online (Sandbox Code Playgroud)

iphone cocoa-touch objective-c uitableview multitasking

4
推荐指数
1
解决办法
6317
查看次数

在不同状态下接收推送通知

我知道这个话题已经讨论过,但是我一直看到相互矛盾的错误,而且我越来越迷失.

我只是想知道当我的应用程序在后台时会发生什么,并且它会收到推送通知.

我知道:

在前台 - 应用程序:didReceiveRemoteNotification:被调用,没有警报,徽章或声音.

未启动时 - 显示/播放警报,徽章和/或声音,如果用户点击通知的"查看/打开"(操作)按钮,则启动应用程序并调用application:didFinishLaunchingWithOptions:并且通知有效负载为传递,如果用户关闭通知并点击应用程序图标,则会调用相同的方法,但不会传递有关通知的信息.

而在背景 - 这是我困惑的地方.我需要知道在后台运行或暂停是否会产生影响,无论如何调用什么方法以及是否显示/播放警报,徽章和/或声音.

谢谢.

application-state push-notification multitasking ios

4
推荐指数
1
解决办法
3186
查看次数

如何在应用程序处于后台时处理套接字连接的事件?

即使应用程序在后台,我也想使用以下功能?

- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent
 {
        case NSStreamEventHasBytesAvailable:
        {  NSLog(@"Event:NSStreamEventHasBytesAvailable");
            if (theStream == _inputStream) {

                NSLog(@"NSStreamEventHasBytesAvailable: on Input Stream");
                uint8_t buffer[1024];
                int len;

                while ([_inputStream hasBytesAvailable]) {
                    len = [_inputStream read:buffer maxLength:sizeof(buffer)];
                    if (len > 0) {

                        NSString *output = [[NSString alloc] initWithBytes:buffer length:len encoding:NSASCIIStringEncoding];

                        if (nil != output) {

                            NSLog(@"server said: %@", output);
                             // to get local notification I am calling below method.
 [self scheduleNotification];       
                        }
                    }
                }
            }
            break;
        }
Run Code Online (Sandbox Code Playgroud)

上面的代码在foreGround中完成.我已经在apple文档中给出了所有更改,以在后台模式中运行应用程序 - voip.我应该在AppDelegate方法中写什么?

- (void)applicationDidEnterBackground:(UIApplication *)application
{
} …
Run Code Online (Sandbox Code Playgroud)

sockets iphone background multitasking ios

4
推荐指数
1
解决办法
2万
查看次数

多个Web请求的最佳多线程方法

我想创建一个程序来抓取并检查我的网站是否存在http错误和其他内容.我想用多个线程来做这件事,这些线程应该接受像抓取的url这样的参数.虽然我希望X线程处于活动状态,但是已经有Y任务等待执行.

现在我想知道执行此操作的最佳策略是什么:ThreadPool,Tasks,Threads甚至是其他什么?

c# multithreading httpwebrequest multitasking

4
推荐指数
1
解决办法
8248
查看次数

在向List <T>添加元素时进行异步和等待

我编写了方法,它从许多来源向List添加元素.见下文:

public static async Task<List<SearchingItem>> GetItemsToSelect()
    {
        List<SearchingItem> searchingItems = new List<SearchingItem>();

        foreach (Place place in await GetPlaces())
        {
            searchingItems.Add(new SearchingItem() { 
                IdFromRealModel=place.Id, NameToDisplay=place.FullName, 
                ExtraInformation=place.Name, TypeOfSearchingItem=TypeOfSearchingItem.PLACE });
        }

        foreach (Group group in await GetGroups())
        {
            searchingItems.Add(new SearchingItem()
            {
                IdFromRealModel = group.Id, NameToDisplay = group.Name,
                ExtraInformation = group.TypeName, TypeOfSearchingItem = TypeOfSearchingItem.GROUP
            });
        }

        return searchingItems;
    }
Run Code Online (Sandbox Code Playgroud)

我测试了这种方法,并且有效地工作.我想,它的工作原理propertly,因为GetPlaces方法返回160元和GetGroups返回3000但是,我在想,如果,如果方法返回的同时元素会工作.我应该锁定列表searchItems吗?

谢谢你的建议.

c# asynchronous multitasking async-await

4
推荐指数
1
解决办法
3977
查看次数

用户级线程的好处

我正在研究用户级线程和内核级线程之间的差异,我基本上理解这一点.
我不清楚的是完全实现用户级线程的重点.

如果内核不知道单个进程中存在多个线程,那么我可以体验到哪些好处?
我已经阅读了几篇文章,声明只有当这样的线程不执行阻塞操作(这会导致整个进程被阻塞)时,建议用户级别的线程实现.

这就是说,考虑到它们无法利用多个处理器和独立调度,所有线程的顺序执行和它们的"并行"执行之间的区别是什么?

回答之前提出的问题(类似于我的问题)是这样的:

没有现代操作系统实际上将n用户级线程映射到1 内核级线程.

但由于某种原因,互联网上的许多人都声称用户级线程永远不会利用多个处理器.

你能帮我理解一下吗?

multithreading operating-system multitasking

4
推荐指数
1
解决办法
4078
查看次数

如何在Java中的Y线程上运行X任务?

我想确保在执行100个任务的5个线程上执行任务的平均时间.

为了节省时间,我使用了 nanoTime()

任务是调用一个特定的方法,让我们调用它foo(); 我不创建任何其他类.

在我的代码中,我创建了一个任务:

Runnable thExecute = new Runnable(){
  @Override
  public void run(){
    foo();
  }
};
Run Code Online (Sandbox Code Playgroud)

然后我创建一个线程:

Thread th = new Thread(thExecute);
long start = System.nanoTime();
th.run();
long stop = System.nanoTime();
Run Code Online (Sandbox Code Playgroud)

如果我有与线程相同数量的任务,这将是很好的.我试图创建线程和任务的数组:

Runnable[] thExecutes = new Runnable[100];
Thread[] ths = new Thread[5];
Run Code Online (Sandbox Code Playgroud)

但现在我不知道接下来该做什么.我知道他们应该以某种方式排队,可能我应该Executor上课.我使用Java 6.

编辑:起初我并不是说我写的东西.现在我知道我想要平均时间+最长时间.

java multithreading executorservice multitasking threadpoolexecutor

4
推荐指数
1
解决办法
1191
查看次数

如何检查线程在C ++ 11及更高版本中是否已完成工作?

如何检查线程在C ++ 11及更高版本中是否已完成工作?我正在阅读文档,并编写了以下代码:

#include <iostream>
#include <thread>
void mythread() 
{
    //do some stuff
}
int main() 
{
  std::thread foo(mythread);  
  if (foo.joinable())
  {
    foo.join();
    //do some next stuff
  }
}
Run Code Online (Sandbox Code Playgroud)

joinable 仅告诉线程已开始工作,但我想知道如何编写代码以检查线程是否已完成工作。

例如:

#include <iostream>
#include <thread>
void mythread() 
{
    //do some stuff
}
int main() 
{
  std::thread foo(mythread);  
  if (foo.finishedWork())
  {
    foo.join();
    //do some next stuff
  }
}
Run Code Online (Sandbox Code Playgroud)

c++ multithreading multitasking c++11

4
推荐指数
2
解决办法
5972
查看次数