Darren Goins
Busy-Waiting
October 29 - November 23, 2016
At Whitcher Projects
Curated and organized by Lisa Marie Pomares
-----



ARTIST BIOGRAPHY:
DARREN GOINS (b. 1984) currently lives and works in Los Angeles, CA. Goins’ recent solo exhibitions include Hezi Cohen Gallery, Tel Aviv, Israel; Whitcher Projects, Los Angeles, CA; Hap Gallery, Portland, OR; Enter Gallery, NYC; Van Every Smith Gallery, NC; The Carillon, NC. Recent group exhibitions include Invisible Exports, NYC; Help, NYC; Fortress to Solitude, NYC; and SECCA, NC. Goins was a 2011 recipient of the EAF 11 residency program at Socrates Sculpture Park, NY.
-----
-----
![]()
![]()
DARREN GOINS (b. 1984) currently lives and works in Los Angeles, CA. Goins’ recent solo exhibitions include Hezi Cohen Gallery, Tel Aviv, Israel; Whitcher Projects, Los Angeles, CA; Hap Gallery, Portland, OR; Enter Gallery, NYC; Van Every Smith Gallery, NC; The Carillon, NC. Recent group exhibitions include Invisible Exports, NYC; Help, NYC; Fortress to Solitude, NYC; and SECCA, NC. Goins was a 2011 recipient of the EAF 11 residency program at Socrates Sculpture Park, NY.
-----
volatile int i = 0; /* i is global, so it is visible to all functions.
It’s also marked volatile, because it
may change in a way which is not predictable by
the compiler,
here from a different thread. */
/* f1 uses a spinlock to wait for i to change from 0. */
static void *f1(void *p)
{
while (i==0) {
/*do nothing – just keep checking over and over */
}
printf("i's value has changed to %d.n", i);
return NULL;
}
static void *f2(void *p)
{
sleep(60); /* sleep for 60 seconds */
i = 99; printf("t2 has changed the value of i to %d.n", i);
return NULL;
}
int main ()
{
int rc;
pthread_t t1, t2;
rc = pthread_create(&t1, NULL, f1, NULL);
if (rc != 0) {
fprintf(stderr,”pthread f1 failedn”);
return EXIT_FAILURE;
[The code above illustrates busy-waiting, a computer systems technical process of spinning or checking something to see if it is ready so that it can proceed with a given process. This can be either efficient or inefficient, but either way it is eating time and the processer is waiting for an event to occur. In the 6 cnc paintings in Busy-waiting, 3 are unique, and 3 are duplicates. A total of 3 files or cut paths were created from drawings, so at any given time, the cnc machine would be etching the material while I would be painting the duplicate.]
It’s also marked volatile, because it
may change in a way which is not predictable by
the compiler,
here from a different thread. */
/* f1 uses a spinlock to wait for i to change from 0. */
static void *f1(void *p)
{
while (i==0) {
/*do nothing – just keep checking over and over */
}
printf("i's value has changed to %d.n", i);
return NULL;
}
static void *f2(void *p)
{
sleep(60); /* sleep for 60 seconds */
i = 99; printf("t2 has changed the value of i to %d.n", i);
return NULL;
}
int main ()
{
int rc;
pthread_t t1, t2;
rc = pthread_create(&t1, NULL, f1, NULL);
if (rc != 0) {
fprintf(stderr,”pthread f1 failedn”);
return EXIT_FAILURE;
[The code above illustrates busy-waiting, a computer systems technical process of spinning or checking something to see if it is ready so that it can proceed with a given process. This can be either efficient or inefficient, but either way it is eating time and the processer is waiting for an event to occur. In the 6 cnc paintings in Busy-waiting, 3 are unique, and 3 are duplicates. A total of 3 files or cut paths were created from drawings, so at any given time, the cnc machine would be etching the material while I would be painting the duplicate.]
-----

