C Sharp :: How To Make Another Thread Sleeping
May 30, 2012How we can make another thread sleeping ?
As you know, Thread.Sleep(Timespan) function makes the current thread sleeping, but i want to make a specific thread sleeping.
How we can make another thread sleeping ?
As you know, Thread.Sleep(Timespan) function makes the current thread sleeping, but i want to make a specific thread sleeping.
I have a event called dataTree_AfterSelect in which I have some code which I want to execute as atomic operation like this:
protected void dataTree_AfterSelect(event params)
{
code that should not be disturbed
}
What is happening now is, I am able to select another node of tree & in that case another execution of above function starts causing a garbled result.
What I want is, user should be able to click on tree node but execution of code block should only start after first execution is totally over.
When the program is processing/sleeping, those char input at that time would not goes into the buffer until the next input request (such as calling istream::get). The program below shows this.
#include <iostream>
#include <streambuf>
#include <chrono>
#include <thread>
int main() {
std::cout << "Sleeping...
[Code] ....
I wonder if there is a way to distinguish between the input comes from the time that does not request it (i.e., during processing or sleeping) and those comes after the time does request it (in the example, after "Input something: ").
I have a class which I wrote and one of its object is "SerialPort" .NET class. In my MainWindow I created instance of my class called "SerialPortComm", then I send through some functions of mine, commands to the Serial Port, and I receive answers through "DataReceived" event.
But when I trying to use Dispatcher.BeginInvoke to write my data I have received (successfully), nothing shows on the RichTextBox which I'm trying to write to.
What can caused that, and How I can make it works?
SerialPortComm.cs
public partial class SerialPortComm : UserControl {
public SerialPort mySerialPort = new SerialPort();
public void Open_Port(string comNumber, int baudRate) {
mySerialPort.PortName = comNumber;
mySerialPort.BaudRate = baudRate;
[Code] ....
Is there any way or trick to make a program that executes without using any class or class concept
View 4 Replies View Relatedhow to make write xml continuous from port COM. Port my COM receive data continuously from external hardware and now I want to record continuous data into xml file (overwrite)
View 1 Replies View Relatedi want make a setup for C# program with SQL data base but i can not . i use installshield but i have error in connection to database in execution program.
View 32 Replies View RelatedI want to make such application in which user make directed graphs along with relations between them. After that application show that which graph properties are proved in this graph e.g Reflexive, Irreflexive, Symmetric, Anti Symmetric, transitive etc
View 1 Replies View RelatedI have three tables (company,department and employee). Company table has two rows (CompanyID, CompanyName). Department table has four rows (DeptID, DeptName, CompanyID, EmpID). Employee table has three rows (EmpID, EmpName, EmpAddress).
I want to search by Departments For example I want to have one Checkbox named Department if I checked Department it should show me all the available departments in the Company so if i select a particular department it should show me all the employees that they belong to the department that has been selected.
I've got a calendar in Form 1 in my code, and buttons in Form2. I need these buttons to send codes for this calendar in Form1. How may I make these work? My friend told me to do a function as a new class, but I'm not sure how can I do this.
View 5 Replies View RelatedI am busy with a project, it is going to consist out of 3 different windows which is logic enough for this whole code to be interactive.
It must be able to pull data into a windows form, displaying it into a textbox, and when you click on the textbox it needs to open up another window where you will have a windows form that will display data as the code loops through the questions in the database.
I am not sure how to push the data that has been selected on the database to the next window..
Here is my code for the first window:
;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form {
//SqlConnection myConnection = new SqlConnection("Data Source=(local);Initial Catalog=KnowledgeEssentials;Integrated Security=SSPI");
//int intType = 0;
public Form1()
[code].....
With the second window the data in the table needs to be displayed and each row from the table needs to have a checkbox next to them, so that if the check box is checked, the relevant information of the checked row will show up in the 3rd window... so MY question is, HOW do I pull that data from that specific database and let it show in the listcheckbox?
I have the following code below. I am getting a memory access violation when accessing cmd->query_string in the loop function. The loop() function is running in another thread. The cmd object appears to be destroyed after calling the send_command function. How do I create an object on the heap and access the query_string.
std::list<my_command_message_que*> my_command_que;
void loop(){
if(my_command_que.size() > 0){
my_command_message_que * cmd = my_command_que.front();
std::cout << cmd->query_string;
[Code] ....
I've been using threading for a while, that was no needing parameters. so I used for example the following line :
_beginthread(functionName, 0, (void*)10);
and it worked great...
but now I have a function that has an int parameter (int num), and I dont know how to transfer it using _beginthread...
I was working on a problem that was best solved with chaining threads together using a blocking thread-safe queue. Eg threads A and B pass data to each other using a queue ... a simple producer consumer design A -> B. This has two benefits: 1) being that there is a buffer between the two threads to cache for a slow consumer and 2) allows for better throughput when loads of data are high because the two can run in parallel. Most of the time the design works well under load. but I found when pushing data through the threads intermittently, i.e. once about 0.5 seconds it ran poorly, mostly from what seemed to be latency introduced during the OS waking up of the consumer thread B.
What i have come up with to solve this issue is what i call an .... Its a wrapper around a basic thread safe queue and adds one extra function called .... The idea here is that if you have a simple case (or perhaps a slightly more complicated case) of two threads in a prod cons design and you know the producer will create or received the data, process it, and then push onto the queue, why not give the consumer thread a heads up to let it know the data is about to arrive. In this case call .... In this way you can have the consumer thread in a polling state anticipating the arrival of data and avoid the time to schedule it back to a running state.
Anyway, i have some code below and I was looking to get some feedback. I have tested it somewhat and it does improve the responsiveness quite substantially.
I don't know if I've setup the thread correctly or not, but its behavoir isn't what I'd expect. I'm creating the thread within a BN_CLICKED message
typedef struct my_TNFO {
HANDLE h_event;
HANDLE h_thread;
DWORD thread_id;
BOOL running;
BOOL init;
BOOL canceled;
[Code] ....
progd->count was devised to stop the thread when the recursion ended by posting a message to the main window. When it reaches 1, the def procedure sends the WMU_DISC_DONE message to set the event
All that *appears* to work; however, if I cancel the recursion thread, the list view continues to populate for a bit and then deletels all but 1 item though I send the message LVM_DELETEALLITEMS.
If I move the (tmp->canceled == TRUE) test inside of the do-while, the app gets loopy.
Startthread get called to launch to update list box.
a)is it the only way to pass string to the PostMessage?. my concern is that allocate using new in each iteration each time slows it down a bit.
b)does OnAddToListBox look memory leak free?.
c)What is the best way handle m_pThread at the end?. Any way to improve it?.
Code:
UINT CMyDlg::Dump(LPVOID lparam) {
HWND *pHndl = static_cast<HWND *>(lparam);
char buffer[200];
for (int i = 0; i < 100; i++) {
sprintf_s(buf,"user %d, data %s",i, "Connected");
[Code] ....
I use MFC Find console window and send key to console like this.
Code:
HWND w;
w = FindWindow(NULL, L"c:userspkrudocumentsvisual studio 2010ProjectsCleanVirusDebugCleanVirus.exe");
[Code]....
After program process success in console it not close console windows but it show like this in Output
The thread 'Win32 Thread' (0x1300) has exited with code 0 (0x0).
I think if I can check when VC will show this line, then I can use FreeConsole(); for close console windows.
There are gnu thread, c thread, posix thread and win32 thread which all can be used on windows platform.
How, why and when do I need them?
Code:
#ifndef C_THREAD_H_
#define C_THREAD_H_
extern "C"
{
#include <cthread.h>
[code]....
This simply won't compile with Visual C++ because there isn't any cthread.h header file there.
I want to add a timer(clock) to my application so that it displays the system time and refreshes every second.
I have this code but it only fires once.
// this is at the top of the application
Code:
HANDLE m_threadClockTime= NULL; Code: int APIENTRY _tWinMain(_In_ HINSTANCE hInstance,
_In_opt_ HINSTANCE hPrevInstance,
_In_ LPTSTR lpCmdLine,
_In_ int nCmdShow)
[Code] ....
But this code only fires once? How can I get this to fire every second (without locking up the entire application in between)....
How to call a thread by a function pointer?
I get "error C2059: syntax error : '(' " on the indicated line.
Code:
#include <windows.h>#include <iostream>
using namespace std;
DWORD WINAPI Thread() {
cout << "ok" << endl;
return 0;
[Code] ....
I am writing a program, the trouble is is that it uses a single thread and is SLOW.
View 10 Replies View RelatedAfter i've created a thread,
Code:
Thread thread = new Thread(new ThreadStart(alpha.ThreadProc)); h
How to wait for that thread to finish without using Sleep?
I have a small problem with my program. It is kinda a mess but I will try to explain you what I am trying to do. I have some threads. One of it, it attempts to detect a game client. So my code is sort of like that:
DWORD ProcessID; // The process ID of the game client
void test() {
char* text;
[Code]....
So basically, its like the variable changes, but only inside the thread... why does that happen?
When I write a code in c++ includes thread library it says "thread:no such file or directory". How can ı use thread library .
I think I should download boost or c++11 but I couldn't do it .
I recently picked up multithreading with OpenMP, so it is still new to me. While processing data, I would like to store it in a vector, as shown here:
vector<int> vect;
#pragma omp parallel for
for(int c=0; c<500; ++c) {
vect.push_back(c)
}
However, since it is multithreaded, I would like (and need!) to have one dedicated vector per thread. I haven't been able to find an example of how to do this online. Is it even possible?
I have a function :
void UpdateNotefications(vector <string> &Notefic)
Where I change a vector...
I called it with a thread :
thread t1 (UpdateNotefications, Notefic);
t1.detach();
Though I see that inside the func, Notefic has a val, and outside, it is still empty (after the function is over)...